fenextjs-validator
Advanced tools
Comparing version
/** | ||
* Interfaz que define las propiedades del constructor de la clase FenextjsValidatorClass. | ||
*/ | ||
export interface FenextjsValidatorClassConstructorProps { | ||
/** | ||
* Nombre asociado a la instancia de FenextjsValidatorClass. | ||
* @type {string | undefined} | ||
*/ | ||
name?: string; | ||
} | ||
/** | ||
* Clase que proporciona validación de datos en TypeScript/JavaScript. | ||
@@ -8,2 +18,10 @@ * @template T - Tipo de los datos a validar. | ||
/** | ||
* Constructor de la clase FenextjsValidatorClass. | ||
* @param {FenextjsValidatorClassConstructorProps} props - Opcional. Propiedades que se pueden pasar al constructor. | ||
* Un objeto que contiene las propiedades del constructor. | ||
* Por ejemplo, puede contener la propiedad "name". | ||
* @returns {void} | ||
*/ | ||
constructor(props?: FenextjsValidatorClassConstructorProps); | ||
/** | ||
* Método para definir la validación "isEqual". | ||
@@ -94,4 +112,9 @@ * Establece la regla de que los datos deben ser iguales al valor especificado. | ||
* Función para crear una instancia de la clase FenextjsValidatorClass y obtener un validador. | ||
* @returns Una nueva instancia de la clase FenextjsValidatorClass que se utilizará para definir reglas de validación y validar datos. | ||
* | ||
* @param {FenextjsValidatorClassConstructorProps} props - Opcional. Propiedades que se pueden pasar al constructor de FenextjsValidatorClass. | ||
* Un objeto que contiene las propiedades del constructor de la clase FenextjsValidatorClass. | ||
* Por ejemplo, puede contener la propiedad "name". | ||
* | ||
* @returns {FenextjsValidatorClass} - Una nueva instancia de la clase FenextjsValidatorClass que se utilizará para definir reglas de validación y validar datos. | ||
*/ | ||
export declare const FenextjsValidator: () => FenextjsValidatorClass<any>; | ||
export declare const FenextjsValidator: (props?: FenextjsValidatorClassConstructorProps) => FenextjsValidatorClass<any>; |
131
cjs/index.js
@@ -5,2 +5,3 @@ "use strict"; | ||
const fenextjs_error_1 = require("fenextjs-error"); | ||
const fenextjs_interface_1 = require("fenextjs-interface"); | ||
/** | ||
@@ -11,2 +12,6 @@ * Clase que proporciona validación de datos en TypeScript/JavaScript. | ||
class FenextjsValidatorClass { | ||
/** Propiedad privada que almacena name del validador. */ | ||
#name; | ||
/** Propiedad privada que almacena la clase superior. */ | ||
#parent; | ||
/** Propiedad privada que almacena los datos a validar. */ | ||
@@ -51,2 +56,57 @@ #data; | ||
/** | ||
* Constructor de la clase FenextjsValidatorClass. | ||
* @param {FenextjsValidatorClassConstructorProps} props - Opcional. Propiedades que se pueden pasar al constructor. | ||
* Un objeto que contiene las propiedades del constructor. | ||
* Por ejemplo, puede contener la propiedad "name". | ||
* @returns {void} | ||
*/ | ||
constructor(props) { | ||
/** | ||
* Nombre asociado a la instancia de FenextjsValidatorClass. | ||
* @type {string | undefined} | ||
*/ | ||
this.#name = props?.name; | ||
} | ||
/** | ||
* Método para establecer el nombre asociado a la instancia de FenextjsValidatorClass. | ||
* @param {string} name - El nombre a establecer para la instancia actual de FenextjsValidatorClass. | ||
* @returns {FenextjsValidatorClass} - La instancia actual de la clase FenextjsValidatorClass, lo que permite el encadenamiento de métodos. | ||
*/ | ||
#setName(name) { | ||
/** | ||
* Nombre asociado a la instancia de FenextjsValidatorClass. | ||
* @type {string} | ||
*/ | ||
this.#name = name; | ||
return this; | ||
} | ||
/** | ||
* Método privado para obtener el nombre completo de la instancia actual de FenextjsValidatorClass. | ||
* Si esta instancia tiene un padre, obtiene el nombre completo que incluye el nombre de su padre. | ||
* Si no tiene un padre, devuelve solo el nombre asociado a esta instancia. | ||
* | ||
* @returns {string} - El nombre completo de la instancia actual de FenextjsValidatorClass. | ||
*/ | ||
#getName() { | ||
if (this.#parent) { | ||
return this.#parent.#getName() + "." + this.#name; | ||
} | ||
return this.#name; | ||
} | ||
/** | ||
* Método para establecer el padre de la instancia actual de FenextjsValidatorClass. | ||
* El padre es otra instancia de FenextjsValidatorClass que se utiliza como contexto superior. | ||
* | ||
* @param {FenextjsValidatorClass} parent - La instancia de FenextjsValidatorClass que se establecerá como padre. | ||
* @returns {FenextjsValidatorClass} - La instancia actual de la clase FenextjsValidatorClass, lo que permite el encadenamiento de métodos. | ||
*/ | ||
#setParent(parent) { | ||
/** | ||
* El padre de la instancia actual de FenextjsValidatorClass. | ||
* @type {FenextjsValidatorClass} | ||
*/ | ||
this.#parent = parent; | ||
return this; | ||
} | ||
/** | ||
* Método para definir la validación "isEqual". | ||
@@ -77,3 +137,3 @@ * Establece la regla de que los datos deben ser iguales al valor especificado. | ||
if (this.#equalValue !== this.#data) { | ||
throw new fenextjs_error_1.ErrorInputInvalid(); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
} | ||
@@ -133,3 +193,3 @@ return this; | ||
if (typeof this.#data !== "boolean") { | ||
throw new fenextjs_error_1.ErrorInputInvalid(); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
} | ||
@@ -159,3 +219,3 @@ } /** | ||
if (typeof this.#data !== "number") { | ||
throw new fenextjs_error_1.ErrorInputInvalid(); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
} | ||
@@ -186,3 +246,3 @@ } | ||
if (typeof this.#data !== "string") { | ||
throw new fenextjs_error_1.ErrorInputInvalid(); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
} | ||
@@ -213,3 +273,3 @@ } | ||
if (!(this.#data instanceof Date)) { | ||
throw new fenextjs_error_1.ErrorInputInvalid(); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
} | ||
@@ -242,3 +302,3 @@ } | ||
if (typeof this.#data !== "object") { | ||
throw new fenextjs_error_1.ErrorInputInvalid(); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
} | ||
@@ -251,2 +311,6 @@ // Obtiene las claves (propiedades) del objeto con las reglas de validación (#objectValue). | ||
const validator = this.#objectValue[key]; | ||
if (!validator.#name) { | ||
validator.#setName(key); | ||
} | ||
validator.#setParent(this); | ||
const r = validator.onValidate(this.#data?.[key]); | ||
@@ -284,12 +348,15 @@ // Si alguna propiedad no cumple con las reglas de validación, se lanza el error devuelto por la validación. | ||
if (!Array.isArray(this.#data)) { | ||
throw new fenextjs_error_1.ErrorInputInvalid(); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
} | ||
// Itera sobre cada elemento del array y aplica las reglas de validación definidas en #arrayValue. | ||
for (let i = 0; i < this.#data.length; i++) { | ||
const item = this.#data[i]; | ||
else { | ||
// Itera sobre cada elemento del array y aplica las reglas de validación definidas en #arrayValue. | ||
const validator = this.#arrayValue; | ||
const r = validator.onValidate(item); | ||
// Si algún elemento no cumple con las reglas de validación, se lanza el error devuelto por la validación. | ||
if (r !== true) { | ||
throw r; | ||
validator.#setParent(this); | ||
for (let i = 0; i < this.#data.length; i++) { | ||
const item = this.#data[i]; | ||
const r = validator.onValidate(item); | ||
// Si algún elemento no cumple con las reglas de validación, se lanza el error devuelto por la validación. | ||
if (r !== true) { | ||
throw r; | ||
} | ||
} | ||
@@ -351,3 +418,3 @@ } | ||
!(minValidate && nMinValue && minValidate > nMinValue)) { | ||
throw new fenextjs_error_1.ErrorInputInvalid(); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
} | ||
@@ -358,3 +425,3 @@ // Verifica si se habilitó la regla "isMinOrEqual" y si los datos no superan o igualan el valor mínimo (#minValue). | ||
!(minValidate && nMinValue && minValidate >= nMinValue)) { | ||
throw new fenextjs_error_1.ErrorInputInvalid(); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
} | ||
@@ -415,3 +482,3 @@ } | ||
!(maxValidate && nMaxValue && maxValidate < nMaxValue)) { | ||
throw new fenextjs_error_1.ErrorInputInvalid(); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
} | ||
@@ -422,6 +489,25 @@ // Verifica si se habilitó la regla "isMaxOrEqual" y si los datos no son menores o iguales al valor máximo (#maxValue). | ||
!(maxValidate && nMaxValue && maxValidate <= nMaxValue)) { | ||
throw new fenextjs_error_1.ErrorInputInvalid(); | ||
this.#onError(fenextjs_interface_1.ErrorCode.INPUT_INVALID); | ||
} | ||
} | ||
/** | ||
* Método privado para manejar errores en la validación. | ||
* Si se proporciona el código de error "ErrorCode.INPUT_REQUIRED", | ||
* lanza una excepción "ErrorInputRequired" que indica que se requiere la entrada. | ||
* De lo contrario, lanza una excepción "ErrorInputInvalid" que indica que la entrada es inválida. | ||
* | ||
* @param {ErrorCode} code - Opcional. El código de error que indica el tipo de error ocurrido. | ||
* @returns {void} | ||
* @throws {ErrorInputRequired} - Si se proporciona el código "ErrorCode.INPUT_REQUIRED". | ||
* @throws {ErrorInputInvalid} - Si se proporciona un código diferente de "ErrorCode.INPUT_REQUIRED". | ||
*/ | ||
#onError(code) { | ||
if (code == fenextjs_interface_1.ErrorCode.INPUT_REQUIRED) { | ||
// Lanza una excepción "ErrorInputRequired" si se requiere la entrada. | ||
throw new fenextjs_error_1.ErrorInputRequired({ input: this.#getName() }); | ||
} | ||
// Lanza una excepción "ErrorInputInvalid" para cualquier otro código de error. | ||
throw new fenextjs_error_1.ErrorInputInvalid({ input: this.#getName() }); | ||
} | ||
/** | ||
* Método para validar los datos proporcionados según las reglas establecidas. | ||
@@ -459,6 +545,11 @@ * Ejecuta todas las reglas de validación habilitadas previamente para los datos. | ||
* Función para crear una instancia de la clase FenextjsValidatorClass y obtener un validador. | ||
* @returns Una nueva instancia de la clase FenextjsValidatorClass que se utilizará para definir reglas de validación y validar datos. | ||
* | ||
* @param {FenextjsValidatorClassConstructorProps} props - Opcional. Propiedades que se pueden pasar al constructor de FenextjsValidatorClass. | ||
* Un objeto que contiene las propiedades del constructor de la clase FenextjsValidatorClass. | ||
* Por ejemplo, puede contener la propiedad "name". | ||
* | ||
* @returns {FenextjsValidatorClass} - Una nueva instancia de la clase FenextjsValidatorClass que se utilizará para definir reglas de validación y validar datos. | ||
*/ | ||
const FenextjsValidator = () => new FenextjsValidatorClass(); | ||
const FenextjsValidator = (props) => new FenextjsValidatorClass(props); | ||
exports.FenextjsValidator = FenextjsValidator; | ||
//# sourceMappingURL=index.js.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
// Importar la función FenextjsValidator desde el archivo actual ("." representa el archivo actual) | ||
const _1 = require("."); | ||
// Crear un validador y establecer la regla "isRequired" | ||
const r = (0, _1.FenextjsValidator)().isRequired().onValidate("a"); | ||
console.log(r); | ||
console.log(r); // Imprimir el resultado de la validación (true si es válido, ErrorInputRequired si no lo es) | ||
// Crear otro validador y establecer la regla "isBoolean" | ||
const r2 = (0, _1.FenextjsValidator)().isBoolean().onValidate(false); | ||
console.log(r2); | ||
// Crear otro validador y establecer la regla "isEqual" con el valor "aaaa" | ||
const r3 = (0, _1.FenextjsValidator)().isEqual("aaaa").onValidate("aaaa"); | ||
console.log(r3); | ||
// Crear otro validador y establecer la regla "isNumber" | ||
const r4 = (0, _1.FenextjsValidator)().isNumber().onValidate(2); | ||
console.log(r4); | ||
// Crear otro validador y establecer la regla "isString" | ||
const r5 = (0, _1.FenextjsValidator)().isString().onValidate(""); | ||
console.log(r5); | ||
const r6 = (0, _1.FenextjsValidator)() | ||
// Crear otro validador y establecer la regla "isObject" con una regla de validación para la propiedad "a" | ||
const r6 = (0, _1.FenextjsValidator)({ name: "Obj__" }) | ||
.isObject({ | ||
a: (0, _1.FenextjsValidator)().isString().isEqual("aa"), | ||
a: (0, _1.FenextjsValidator)({ name: "test__" }).isString().isEqual("aa"), | ||
}) | ||
.onValidate({ | ||
a: "aa", | ||
a: "aaa", | ||
}); | ||
console.log(r6); | ||
// Crear otro validador y establecer la regla "isArray" con una regla de validación para los elementos del array | ||
const r7 = (0, _1.FenextjsValidator)() | ||
@@ -26,15 +34,20 @@ .isArray((0, _1.FenextjsValidator)().isString().isEqual("aa")) | ||
console.log(r7); | ||
// Crear otro validador y establecer la regla "isString" y "isMin" (longitud mínima 3 caracteres) | ||
const r8 = (0, _1.FenextjsValidator)().isString().isMin(3).onValidate("aaaaa"); | ||
console.log(r8); | ||
// Crear otro validador y establecer la regla "isString" y "isMinOrEqual" (longitud mínima 3 caracteres o igual) | ||
const r9 = (0, _1.FenextjsValidator)().isString().isMinOrEqual(3).onValidate("aaa"); | ||
console.log(r9); | ||
// Crear otro validador y establecer la regla "isNumber" y "isMax" (valor máximo 3) | ||
const r10 = (0, _1.FenextjsValidator)().isNumber().isMax(3).onValidate(2); | ||
console.log(r10); | ||
// Crear otro validador y establecer la regla "isString" y "isMaxOrEqual" (longitud máxima 3 caracteres o igual) | ||
const r11 = (0, _1.FenextjsValidator)().isString().isMaxOrEqual(3).onValidate("aaa"); | ||
console.log(r11); | ||
const r12 = (0, _1.FenextjsValidator)() | ||
// Crear otro validador y establecer la regla "isDate" y "isMax" (fecha máxima: 100) | ||
const r12 = (0, _1.FenextjsValidator)({ name: "date" }) | ||
.isDate() | ||
.isMax(new Date(100)) | ||
.onValidate(new Date(99)); | ||
.onValidate(new Date(10)); | ||
console.log(r12); | ||
//# sourceMappingURL=test.js.map |
{ | ||
"name": "fenextjs-validator", | ||
"version": "1.0.3", | ||
"version": "1.0.4", | ||
"description": "", | ||
@@ -40,4 +40,4 @@ "main": "./cjs/index.js", | ||
"dependencies": { | ||
"fenextjs-error": "^1.0.3", | ||
"fenextjs-interface": "^1.0.23" | ||
"fenextjs-error": "^1.0.6", | ||
"fenextjs-interface": "^1.0.24" | ||
}, | ||
@@ -44,0 +44,0 @@ "files": [ |
193
README.md
# fenextjs-validator | ||
## Classes | ||
@@ -14,3 +13,3 @@ | ||
<dl> | ||
<dt><a href="#FenextjsValidator">FenextjsValidator()</a> ⇒</dt> | ||
<dt><a href="#FenextjsValidator">FenextjsValidator(props)</a> ⇒ <code><a href="#FenextjsValidatorClass">FenextjsValidatorClass</a></code></dt> | ||
<dd><p>Función para crear una instancia de la clase FenextjsValidatorClass y obtener un validador.</p> | ||
@@ -23,26 +22,40 @@ </dd> | ||
## FenextjsValidatorClass | ||
Clase que proporciona validación de datos en TypeScript/JavaScript. | ||
**Kind**: global class | ||
**Kind**: global class | ||
- [FenextjsValidatorClass](#FenextjsValidatorClass) | ||
- [.isEqual(d)](#FenextjsValidatorClass+isEqual) ⇒ | ||
- [.isRequired()](#FenextjsValidatorClass+isRequired) ⇒ | ||
- [.isBoolean()](#FenextjsValidatorClass+isBoolean) ⇒ | ||
- [.isNumber()](#FenextjsValidatorClass+isNumber) ⇒ | ||
- [.isString()](#FenextjsValidatorClass+isString) ⇒ | ||
- [.isDate()](#FenextjsValidatorClass+isDate) ⇒ | ||
- [.isObject(obj)](#FenextjsValidatorClass+isObject) ⇒ | ||
- [.isArray(item)](#FenextjsValidatorClass+isArray) ⇒ | ||
- [.isMin(min)](#FenextjsValidatorClass+isMin) ⇒ | ||
- [.isMinOrEqual(min)](#FenextjsValidatorClass+isMinOrEqual) ⇒ | ||
- [.isMax(max)](#FenextjsValidatorClass+isMax) ⇒ | ||
- [.isMaxOrEqual(max)](#FenextjsValidatorClass+isMaxOrEqual) ⇒ | ||
- [.onValidate(d)](#FenextjsValidatorClass+onValidate) ⇒ | ||
* [FenextjsValidatorClass](#FenextjsValidatorClass) | ||
* [new FenextjsValidatorClass(props)](#new_FenextjsValidatorClass_new) | ||
* _instance_ | ||
* [.isEqual(d)](#FenextjsValidatorClass+isEqual) ⇒ | ||
* [.isRequired()](#FenextjsValidatorClass+isRequired) ⇒ | ||
* [.isBoolean()](#FenextjsValidatorClass+isBoolean) ⇒ | ||
* [.isNumber()](#FenextjsValidatorClass+isNumber) ⇒ | ||
* [.isString()](#FenextjsValidatorClass+isString) ⇒ | ||
* [.isDate()](#FenextjsValidatorClass+isDate) ⇒ | ||
* [.isObject(obj)](#FenextjsValidatorClass+isObject) ⇒ | ||
* [.isArray(item)](#FenextjsValidatorClass+isArray) ⇒ | ||
* [.isMin(min)](#FenextjsValidatorClass+isMin) ⇒ | ||
* [.isMinOrEqual(min)](#FenextjsValidatorClass+isMinOrEqual) ⇒ | ||
* [.isMax(max)](#FenextjsValidatorClass+isMax) ⇒ | ||
* [.isMaxOrEqual(max)](#FenextjsValidatorClass+isMaxOrEqual) ⇒ | ||
* [.onValidate(d)](#FenextjsValidatorClass+onValidate) ⇒ | ||
* _static_ | ||
* [.FenextjsValidatorClass](#FenextjsValidatorClass.FenextjsValidatorClass) : <code>string</code> \| <code>undefined</code> | ||
* [.FenextjsValidatorClass](#FenextjsValidatorClass.FenextjsValidatorClass) : <code>string</code> | ||
* [.FenextjsValidatorClass](#FenextjsValidatorClass.FenextjsValidatorClass) : [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
<a name="new_FenextjsValidatorClass_new"></a> | ||
### new FenextjsValidatorClass(props) | ||
Constructor de la clase FenextjsValidatorClass. | ||
| Param | Type | Description | | ||
| --- | --- | --- | | ||
| props | <code>FenextjsValidatorClassConstructorProps</code> | Opcional. Propiedades que se pueden pasar al constructor. Un objeto que contiene las propiedades del constructor. Por ejemplo, puede contener la propiedad "name". | | ||
<a name="FenextjsValidatorClass+isEqual"></a> | ||
### fenextjsValidatorClass.isEqual(d) ⇒ | ||
Método para definir la validación "isEqual". | ||
@@ -52,7 +65,7 @@ Establece la regla de que los datos deben ser iguales al valor especificado. | ||
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
| Param | Description | | ||
| ----- | ------------------------------- | | ||
| d | Valor a comparar con los datos. | | ||
| Param | Description | | ||
| --- | --- | | ||
| d | Valor a comparar con los datos. | | ||
@@ -62,3 +75,2 @@ <a name="FenextjsValidatorClass+isRequired"></a> | ||
### fenextjsValidatorClass.isRequired() ⇒ | ||
Método para habilitar la validación "isRequired". | ||
@@ -72,3 +84,2 @@ Establece la regla de que los datos deben estar presentes y no ser nulos o indefinidos. | ||
### fenextjsValidatorClass.isBoolean() ⇒ | ||
Método para habilitar la validación "isBoolean". | ||
@@ -82,3 +93,2 @@ Establece la regla de que los datos deben ser de tipo booleano. | ||
### fenextjsValidatorClass.isNumber() ⇒ | ||
Método para habilitar la validación "isNumber". | ||
@@ -92,3 +102,2 @@ Establece la regla de que los datos deben ser de tipo número. | ||
### fenextjsValidatorClass.isString() ⇒ | ||
Método para habilitar la validación "isString". | ||
@@ -102,3 +111,2 @@ Establece la regla de que los datos deben ser de tipo cadena (string). | ||
### fenextjsValidatorClass.isDate() ⇒ | ||
Método para habilitar la validación "isDate". | ||
@@ -112,3 +120,2 @@ Establece la regla de que los datos deben ser de tipo Date (fecha). | ||
### fenextjsValidatorClass.isObject(obj) ⇒ | ||
Método para habilitar la validación "isObject". | ||
@@ -118,7 +125,7 @@ Establece la regla de que los datos deben ser de tipo objeto. | ||
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
| Param | Description | | ||
| ----- | ------------------------------------------------------------------- | | ||
| obj | Objeto con las reglas de validación para cada propiedad del objeto. | | ||
| Param | Description | | ||
| --- | --- | | ||
| obj | Objeto con las reglas de validación para cada propiedad del objeto. | | ||
@@ -128,3 +135,2 @@ <a name="FenextjsValidatorClass+isArray"></a> | ||
### fenextjsValidatorClass.isArray(item) ⇒ | ||
Método para habilitar la validación "isArray". | ||
@@ -134,7 +140,7 @@ Establece la regla de que los datos deben ser un array. | ||
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
| Param | Description | | ||
| ----- | ----------------------------------------------------------------------------------------------------- | | ||
| item | Instancia de FenextjsValidatorClass que define las reglas de validación para cada elemento del array. | | ||
| Param | Description | | ||
| --- | --- | | ||
| item | Instancia de FenextjsValidatorClass que define las reglas de validación para cada elemento del array. | | ||
@@ -144,3 +150,2 @@ <a name="FenextjsValidatorClass+isMin"></a> | ||
### fenextjsValidatorClass.isMin(min) ⇒ | ||
Método para habilitar la validación "isMin". | ||
@@ -150,7 +155,7 @@ Establece la regla de que los datos deben ser mayores que un valor específico. | ||
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
| Param | Description | | ||
| ----- | ----------------------------------------- | | ||
| min | Valor mínimo que los datos deben superar. | | ||
| Param | Description | | ||
| --- | --- | | ||
| min | Valor mínimo que los datos deben superar. | | ||
@@ -160,3 +165,2 @@ <a name="FenextjsValidatorClass+isMinOrEqual"></a> | ||
### fenextjsValidatorClass.isMinOrEqual(min) ⇒ | ||
Método para habilitar la validación "isMinOrEqual". | ||
@@ -166,7 +170,7 @@ Establece la regla de que los datos deben ser mayores o iguales que un valor específico. | ||
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
| Param | Description | | ||
| ----- | --------------------------------------------------- | | ||
| min | Valor mínimo que los datos deben superar o igualar. | | ||
| Param | Description | | ||
| --- | --- | | ||
| min | Valor mínimo que los datos deben superar o igualar. | | ||
@@ -176,3 +180,2 @@ <a name="FenextjsValidatorClass+isMax"></a> | ||
### fenextjsValidatorClass.isMax(max) ⇒ | ||
Método para habilitar la validación "isMax". | ||
@@ -182,7 +185,7 @@ Establece la regla de que los datos deben ser menores que un valor específico. | ||
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
| Param | Description | | ||
| ----- | ---------------------------------------------------- | | ||
| max | Valor máximo que los datos deben ser menores que él. | | ||
| Param | Description | | ||
| --- | --- | | ||
| max | Valor máximo que los datos deben ser menores que él. | | ||
@@ -192,3 +195,2 @@ <a name="FenextjsValidatorClass+isMaxOrEqual"></a> | ||
### fenextjsValidatorClass.isMaxOrEqual(max) ⇒ | ||
Método para habilitar la validación "isMaxOrEqual". | ||
@@ -198,7 +200,7 @@ Establece la regla de que los datos deben ser menores o iguales que un valor específico. | ||
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
**Returns**: Instancia de FenextjsValidatorClass. | ||
| Param | Description | | ||
| ----- | ------------------------------------------------------------ | | ||
| max | Valor máximo que los datos deben ser menores o igual que él. | | ||
| Param | Description | | ||
| --- | --- | | ||
| max | Valor máximo que los datos deben ser menores o igual que él. | | ||
@@ -208,3 +210,2 @@ <a name="FenextjsValidatorClass+onValidate"></a> | ||
### fenextjsValidatorClass.onValidate(d) ⇒ | ||
Método para validar los datos proporcionados según las reglas establecidas. | ||
@@ -214,17 +215,39 @@ Ejecuta todas las reglas de validación habilitadas previamente para los datos. | ||
**Kind**: instance method of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
**Returns**: True si los datos cumplen con todas las reglas de validación; de lo contrario, devuelve el error que indica la regla de validación que falló. | ||
**Returns**: True si los datos cumplen con todas las reglas de validación; de lo contrario, devuelve el error que indica la regla de validación que falló. | ||
| Param | Description | | ||
| ----- | --------------------------- | | ||
| d | Datos que se deben validar. | | ||
| Param | Description | | ||
| --- | --- | | ||
| d | Datos que se deben validar. | | ||
<a name="FenextjsValidatorClass.FenextjsValidatorClass"></a> | ||
### FenextjsValidatorClass.FenextjsValidatorClass : <code>string</code> \| <code>undefined</code> | ||
Nombre asociado a la instancia de FenextjsValidatorClass. | ||
**Kind**: static property of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
<a name="FenextjsValidatorClass.FenextjsValidatorClass"></a> | ||
### FenextjsValidatorClass.FenextjsValidatorClass : <code>string</code> | ||
Nombre asociado a la instancia de FenextjsValidatorClass. | ||
**Kind**: static property of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
<a name="FenextjsValidatorClass.FenextjsValidatorClass"></a> | ||
### FenextjsValidatorClass.FenextjsValidatorClass : [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
El padre de la instancia actual de FenextjsValidatorClass. | ||
**Kind**: static property of [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
<a name="FenextjsValidator"></a> | ||
## FenextjsValidator() ⇒ | ||
## FenextjsValidator(props) ⇒ [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) | ||
Función para crear una instancia de la clase FenextjsValidatorClass y obtener un validador. | ||
**Kind**: global function | ||
**Returns**: Una nueva instancia de la clase FenextjsValidatorClass que se utilizará para definir reglas de validación y validar datos. | ||
**Returns**: [<code>FenextjsValidatorClass</code>](#FenextjsValidatorClass) - - Una nueva instancia de la clase FenextjsValidatorClass que se utilizará para definir reglas de validación y validar datos. | ||
| Param | Type | Description | | ||
| --- | --- | --- | | ||
| props | <code>FenextjsValidatorClassConstructorProps</code> | Opcional. Propiedades que se pueden pasar al constructor de FenextjsValidatorClass. Un objeto que contiene las propiedades del constructor de la clase FenextjsValidatorClass. Por ejemplo, puede contener la propiedad "name". | | ||
## Example | ||
@@ -235,34 +258,37 @@ | ||
import { FenextjsValidator } from "fenextjs-validator"; | ||
// Importar la función FenextjsValidator desde el archivo actual ("." representa el archivo actual) | ||
import { FenextjsValidator } from "."; | ||
// Crear un validador y establecer la regla "isRequired" | ||
// Ejemplo 1: Crear un validador y establecer la regla "isRequired" | ||
const r = FenextjsValidator().isRequired().onValidate("a"); | ||
console.log(r); // Imprimir el resultado de la validación (true si es válido, ErrorInputRequired si no lo es) | ||
// Crear otro validador y establecer la regla "isBoolean" | ||
// Ejemplo 2: Crear otro validador y establecer la regla "isBoolean" | ||
const r2 = FenextjsValidator().isBoolean().onValidate(false); | ||
console.log(r2); | ||
// Crear otro validador y establecer la regla "isEqual" con el valor "aaaa" | ||
// Ejemplo 3: Crear otro validador y establecer la regla "isEqual" con el valor "aaaa" | ||
const r3 = FenextjsValidator().isEqual("aaaa").onValidate("aaaa"); | ||
console.log(r3); | ||
// Crear otro validador y establecer la regla "isNumber" | ||
// Ejemplo 4: Crear otro validador y establecer la regla "isNumber" | ||
const r4 = FenextjsValidator().isNumber().onValidate(2); | ||
console.log(r4); | ||
// Crear otro validador y establecer la regla "isString" | ||
// Ejemplo 5: Crear otro validador y establecer la regla "isString" | ||
const r5 = FenextjsValidator().isString().onValidate(""); | ||
console.log(r5); | ||
// Crear otro validador y establecer la regla "isObject" con una regla de validación para la propiedad "a" | ||
const r6 = FenextjsValidator() | ||
// Ejemplo 6: Crear otro validador y establecer la regla "isObject" con una regla de validación para la propiedad "a" | ||
const r6 = FenextjsValidator({ name: "Obj__" }) | ||
.isObject({ | ||
a: FenextjsValidator().isString().isEqual("aa"), | ||
a: FenextjsValidator({ name: "test__" }).isString().isEqual("aa"), | ||
}) | ||
.onValidate({ | ||
a: "aa", | ||
a: "aaa", | ||
}); | ||
console.log(r6); | ||
//INPUT_INVALID: Invalid Input [Obj__.test__] | ||
// Crear otro validador y establecer la regla "isArray" con una regla de validación para los elementos del array | ||
// Ejemplo 7: Crear otro validador y establecer la regla "isArray" con una regla de validación para los elementos del array | ||
const r7 = FenextjsValidator() | ||
@@ -273,24 +299,25 @@ .isArray(FenextjsValidator().isString().isEqual("aa")) | ||
// Crear otro validador y establecer la regla "isString" y "isMin" (longitud mínima 3 caracteres) | ||
// Ejemplo 8: Crear otro validador y establecer la regla "isString" y "isMin" (longitud mínima 3 caracteres) | ||
const r8 = FenextjsValidator().isString().isMin(3).onValidate("aaaaa"); | ||
console.log(r8); | ||
// Crear otro validador y establecer la regla "isString" y "isMinOrEqual" (longitud mínima 3 caracteres o igual) | ||
// Ejemplo 9: Crear otro validador y establecer la regla "isString" y "isMinOrEqual" (longitud mínima 3 caracteres o igual) | ||
const r9 = FenextjsValidator().isString().isMinOrEqual(3).onValidate("aaa"); | ||
console.log(r9); | ||
// Crear otro validador y establecer la regla "isNumber" y "isMax" (valor máximo 3) | ||
// Ejemplo 10: Crear otro validador y establecer la regla "isNumber" y "isMax" (valor máximo 3) | ||
const r10 = FenextjsValidator().isNumber().isMax(3).onValidate(2); | ||
console.log(r10); | ||
// Crear otro validador y establecer la regla "isString" y "isMaxOrEqual" (longitud máxima 3 caracteres o igual) | ||
// Ejemplo 11: Crear otro validador y establecer la regla "isString" y "isMaxOrEqual" (longitud máxima 3 caracteres o igual) | ||
const r11 = FenextjsValidator().isString().isMaxOrEqual(3).onValidate("aaa"); | ||
console.log(r11); | ||
// Crear otro validador y establecer la regla "isDate" y "isMax" (fecha máxima: 100) | ||
const r12 = FenextjsValidator() | ||
// Ejemplo 12: Crear otro validador y establecer la regla "isDate" y "isMax" (fecha máxima: 100) | ||
const r12 = FenextjsValidator({ name: "date" }) | ||
.isDate() | ||
.isMax(new Date(100)) | ||
.onValidate(new Date(99)); | ||
.onValidate(new Date(10)); | ||
console.log(r12); | ||
``` | ||
@@ -297,0 +324,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
58725
22.85%708
21.86%312
9.47%Updated
Updated