4.7.0 • Published 4 months ago

fenextjs-validator v4.7.0

Weekly downloads
-
License
ISC
Repository
github
Last release
4 months ago

Fenextjs-validator

Import

// Importar la función FenextjsValidator
import { FenextjsValidator } from "fenextjs-validator";

Example

Ejemplo: Crear un validador y establecer la regla "isRequired"

const ValidateIsRequired = FenextjsValidator()
    .setName("ValidateIsRequired") // Establecer un nombre para esta instancia de validador (opcional)
    .isRequired() // Establecer la regla "isRequired", que verifica si el valor es requerido (no puede estar vacío o ser nulo).
    .onValidate(""); // Realizar la validación con el valor "" (cadena vacía)

console.log(ValidateIsRequired);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputRequired.
// El mensaje de este objeto puede ser algo como "Input Required [ValidateIsRequired]".
// Esto indica que el valor proporcionado para la validación está vacío, lo que no cumple con la regla de "isRequired".

// Nota: Si el valor proporcionado en "onValidate()" hubiera sido diferente de una cadena vacía,
// la validación habría sido exitosa, y el resultado habría sido "true" (indicando que el valor es válido).

Ejemplo: Crear un validador y establecer la regla "isBoolean"

const ValidateIsBoolean = FenextjsValidator()
    .setName("ValidateIsBoolean") // Establecer un nombre para esta instancia de validador (opcional)
    .isBoolean() // Establecer la regla "isBoolean", que verifica si el valor es un booleano.
    .onValidate("false"); // Realizar la validación con el valor "false" (cadena)

console.log(ValidateIsBoolean);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputInvalid.
// El mensaje de este objeto puede ser algo como "Invalid Input [ValidateIsBoolean]".
// Esto indica que el valor proporcionado para la validación ("false" en este caso) no es un booleano válido.

// Nota: Si el valor proporcionado en "onValidate()" hubiera sido "true" (valor booleano válido),
// la validación habría sido exitosa, y el resultado habría sido "true" (indicando que el valor es válido).

Ejemplo: Crear un validador y establecer la regla "isEqual"

const ValidateIsEqual = FenextjsValidator()
    .setName("ValidateIsEqual") // Establecer un nombre para esta instancia de validador (opcional)
    .isEqual("aaaa") // Establecer la regla "isEqual", que verifica si el valor es igual al valor "aaaa".
    .onValidate("bbbb"); // Realizar la validación con el valor "bbbb" (cadena)

console.log(ValidateIsEqual);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputNotEqual.
// El mensaje de este objeto puede ser algo como "Not Equal Input [ValidateIsEqual]".
// Esto indica que el valor proporcionado para la validación ("bbbb" en este caso) no es igual al valor esperado "aaaa".

// Nota: Si el valor proporcionado en "onValidate()" hubiera sido "aaaa" (valor igual al valor esperado),
// la validación habría sido exitosa, y el resultado habría sido "true" (indicando que el valor es válido).

Ejemplo: Crear un validador y establecer la regla "isNumber"

const ValidateIsNumber = FenextjsValidator()
    .setName("ValidateIsNumber") // Establecer un nombre para esta instancia de validador (opcional)
    .isNumber() // Establecer la regla "isNumber", que verifica si el valor es un número.
    .onValidate("not Number"); // Realizar la validación con el valor "not Number" (cadena)

console.log(ValidateIsNumber);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputInvalid.
// El mensaje de este objeto puede ser algo como "Invalid Input [FenextjsValidator]".
// Esto indica que el valor proporcionado para la validación ("not Number" en este caso) no es un número válido.

// Nota: Si el valor proporcionado en "onValidate()" hubiera sido un número, la validación habría sido exitosa,
// y el resultado habría sido "true" (indicando que el valor es válido).

Ejemplo: Crear un validador y establecer la regla "isString"

const ValidateIsString = FenextjsValidator()
    .setName("ValidateIsString") // Establecer un nombre para esta instancia de validador (opcional)
    .isString() // Establecer la regla "isString", que verifica si el valor es una cadena de texto.
    .onValidate({}); // Realizar la validación con el valor {} (objeto)

console.log(ValidateIsString);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputInvalid.
// El mensaje de este objeto puede ser algo como "Invalid Input [FenextjsValidator]".
// Esto indica que el valor proporcionado para la validación ({}, un objeto) no es una cadena de texto válida.

// Nota: Si el valor proporcionado en "onValidate()" hubiera sido una cadena de texto, la validación habría sido exitosa,
// y el resultado habría sido "true" (indicando que el valor es válido).

Ejemplo: Crear un validador y establecer la regla "isObject" con una regla de validación para la propiedad "key1"

const ValidateIsObject = FenextjsValidator()
    .setName("ValidateIsString") // Establecer un nombre para esta instancia de validador (opcional)
    .isObject({
        key1: FenextjsValidator() // Establecer la regla "isString" y "isEqual" para la propiedad "key1"
            .setName("ValidateIsString.key1") // Establecer un nombre para esta subinstancia de validador (opcional)
            .isString() // Establecer la regla "isString", que verifica si el valor es una cadena de texto.
            .isEqual("aa"), // Establecer la regla "isEqual", que verifica si el valor es igual a "aa".
    }) //  (opcional)
    .onValidate({
        key1: "not Equal", // Realizar la validación con el objeto { key1: "not Equal" }

        // Nota: Si el valor de la propiedad "key1" hubiera sido "aa" (una cadena de texto igual a "aa"),
        // la validación habría sido exitosa, y el resultado habría sido "true" (indicando que el valor es válido).
    });

console.log(ValidateIsObject);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputNotEqual.
// El mensaje de este objeto puede ser algo como "Not Equal Input [ValidateIsString.key1]".
// Esto indica que el valor proporcionado para la validación de la propiedad "key1" ("not Equal" en este caso)
// no es igual al valor esperado "aa" definido en la regla "isEqual".

// Además, el mensaje también incluye el nombre del validador asociado ("ValidateIsString.key1")
// para indicar que la propiedad "key1" del objeto no cumple con la regla de validación "isString" e "isEqual".

Ejemplo: Crear un validador y establecer la regla "isArray" con una regla de validación para los elementos del array

const ValidateIsArray = FenextjsValidator()
    .setName("ValidateIsArray") // Establecer un nombre para esta instancia de validador (opcional)
    .isArray(
        // Establecer la regla "isArray", que verifica si el valor es un array.
        FenextjsValidator().isString().isEqual("aa"), // Establecer la regla "isString" y "isEqual" para los elementos del array
    ) //  (opcional)
    .onValidate(["aa", "not equal"]); // Realizar la validación con el array ["aa", "not equal"]

console.log(ValidateIsArray);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputNotEqual.
// El mensaje de este objeto puede ser algo como "Not Equal Input [ValidateIsArray.1]".
// Esto indica que el valor proporcionado para la validación del segundo elemento del array ("not equal" en este caso)
// no es igual al valor esperado "aa" definido en la regla "isEqual".

// Además, el mensaje también incluye el nombre del validador asociado ("ValidateIsArray.1")
// para indicar que el segundo elemento del array no cumple con la regla de validación "isString" e "isEqual".

Ejemplo: Crear un validador y establecer las reglas "isString" y "isMin" (longitud mínima 3 caracteres)

const ValidateIsMin = FenextjsValidator()
    .setName("ValidateIsMin") // Establecer un nombre para esta instancia de validador (opcional)
    .isString() // Establecer la regla "isString", que verifica si el valor es una cadena de texto.
    .isMin(3) // Establecer la regla "isMin", que verifica si la longitud de la cadena es mayor o igual a 3 caracteres.
    .onValidate("NO"); // Realizar la validación con la cadena "NO"

console.log(ValidateIsMin);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputInvalid.
// El mensaje de este objeto puede ser algo como "Invalid Input [ValidateIsMin]".
// Esto indica que el valor proporcionado para la validación ("NO" en este caso) no cumple con la regla de longitud mínima.

// Nota: Si el valor proporcionado en "onValidate()" hubiera sido una cadena con al menos 3 caracteres (por ejemplo, "YES"),
// la validación habría sido exitosa, y el resultado habría sido "true" (indicando que el valor es válido).

Ejemplo: Crear un validador y establecer las reglas "isString" y "isMinOrEqual" (longitud mínima 3 caracteres o igual)

const ValidateIsMinOrEqual = FenextjsValidator()
    .setName("ValidateIsMinOrEqual") // Establecer un nombre para esta instancia de validador (opcional)
    .isString() // Establecer la regla "isString", que verifica si el valor es una cadena de texto.
    .isMinOrEqual(3) // Establecer la regla "isMinOrEqual", que verifica si la longitud de la cadena es mayor o igual a 3 caracteres.
    .onValidate("aaa"); // Realizar la validación con la cadena "aaa"

console.log(ValidateIsMinOrEqual);
// En este caso, el resultado de la validación será "true".
// Esto indica que el valor proporcionado para la validación ("aaa" en este caso) cumple con la regla de longitud mínima (3 caracteres).

// Nota: Si el valor proporcionado en "onValidate()" hubiera sido una cadena con menos de 3 caracteres (por ejemplo, "aa"),
// la validación habría sido exitosa, y el resultado también habría sido "true" (indicando que el valor es válido).

Ejemplo: Crear un validador y establecer las reglas "isNumber" e "isMax" (valor máximo 3)

const ValidateIsMax = FenextjsValidator()
    .setName("ValidateIsMax") // Establecer un nombre para esta instancia de validador (opcional)
    .isNumber() // Establecer la regla "isNumber", que verifica si el valor es un número.
    .isMax(3) // Establecer la regla "isMax", que verifica si el valor numérico es menor o igual a 3.
    .onValidate(20); // Realizar la validación con el valor numérico 20

console.log(ValidateIsMax);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputValueTooHigh.
// El mensaje de este objeto puede ser algo como "Value Too High [ValidateIsMax]".
// Esto indica que el valor proporcionado para la validación (20 en este caso) es mayor que el valor máximo permitido (3).

// Nota: Si el valor proporcionado en "onValidate()" hubiera sido un número menor o igual a 3 (por ejemplo, 2),
// la validación habría sido exitosa, y el resultado habría sido "true" (indicando que el valor es válido).

Ejemplo: Crear un validador y establecer las reglas "isString" e "isMaxOrEqual" (longitud máxima 3 caracteres o igual)

const ValidateIsMaxOrEqual = FenextjsValidator()
    .setName("ValidateIsMaxOrEqual") // Establecer un nombre para esta instancia de validador (opcional)
    .isString() // Establecer la regla "isString", que verifica si el valor es una cadena de texto.
    .isMaxOrEqual(3) // Establecer la regla "isMaxOrEqual", que verifica si la longitud de la cadena es menor o igual a 3 caracteres.
    .onValidate("aaa"); // Realizar la validación con la cadena "aaa"

console.log(ValidateIsMaxOrEqual);
// En este caso, el resultado de la validación será "true".
// Esto indica que el valor proporcionado para la validación ("aaa" en este caso) cumple con la regla de longitud máxima o es igual a 3 caracteres.

// Nota: Si el valor proporcionado en "onValidate()" hubiera sido una cadena con más de 3 caracteres (por ejemplo, "aaaa"),
// la validación habría sido exitosa, y el resultado también habría sido "true" (indicando que el valor es válido).

Ejemplo: Crear un validador y establecer las reglas "isDate" e "isMax" (fecha máxima: 100)

const ValidateIsDate = FenextjsValidator()
    .setName("ValidateIsDate") // Establecer un nombre para esta instancia de validador (opcional)
    .isDate() // Establecer la regla "isDate", que verifica si el valor es una fecha válida.
    .isMax(new Date(100)) // Establecer la regla "isMax", que verifica si la fecha es anterior o igual a la fecha máxima (100).
    .onValidate(new Date(10)); // Realizar la validación con la fecha new Date(10)

console.log(ValidateIsDate);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputValueTooHigh.
// El mensaje de este objeto puede ser algo como "Value Too High [ValidateIsDate]".
// Esto indica que la fecha proporcionada para la validación (new Date(10) en este caso) es posterior a la fecha máxima permitida (new Date(100)).

// Nota: Si la fecha proporcionada en "onValidate()" hubiera sido una fecha anterior o igual a new Date(100),
// la validación habría sido exitosa, y el resultado habría sido "true" (indicando que el valor es válido).

Ejemplo: Crear un validador y establecer la regla "isLength" (longitud debe ser 4 caracteres)

const ValidateIsLength = FenextjsValidator()
    .setName("ValidateIsLength") // Establecer un nombre para esta instancia de validador (opcional)
    .isLength(4) // Establecer la regla "isLength", que verifica si la longitud de la cadena es igual a 4 caracteres.
    .onValidate("tesing"); // Realizar la validación con la cadena "tesing"

console.log(ValidateIsLength);
// En este caso, el resultado de la validación será un objeto de tipo ErrorInputInvalid.
// El mensaje de este objeto puede ser algo como "Invalid Input [ValidateIsLength]".
// Esto indica que la cadena proporcionada para la validación ("tesing" en este caso) no cumple con la regla de longitud (4 caracteres).

// Nota: Si la cadena proporcionada en "onValidate()" hubiera sido una cadena de 4 caracteres (por ejemplo, "test"),
// la validación habría sido exitosa, y el resultado habría sido "true" (indicando que el valor es válido).

Ejemplo: Crear un validador y establecer la regla "isObject" con dos reglas de validación para las propiedades "keyA" y "keyB"

// Definir la interfaz que describe la estructura de datos para la validación
interface ValidateIsCompareRefInteface {
    keyA: string;
    keyB: string;
}

const ValidateIsCompareRef = FenextjsValidator<ValidateIsCompareRefInteface>()
    .setName("ValidateIsCompareRef") // Establecer un nombre para esta instancia de validador (opcional)
    .isObject({
        keyA: FenextjsValidator()
            .setName("ValidateIsCompareRef.keyA") // Establecer un nombre para esta instancia de validador (opcional)
            .isString() // Establecer la regla "isString", que verifica si el valor es una cadena de texto.
            .isCompareRef("keyB"), // Establecer la regla "isCompareRef", que compara el valor de "keyA" con el valor de "keyB".
        keyB: FenextjsValidator()
            .setName("ValidateIsCompareRef.keyB") // Establecer un nombre para esta instancia de validador (opcional)
            .isString(), // Establecer la regla "isString", que verifica si el valor es una cadena de texto.
    }) //  (opcional)
    .onValidate({
        keyA: "aaa",
        keyB: "bbb",
    }); // Realizar la validación con el objeto { keyA: "aaa", keyB: "bbb" }

console.log(ValidateIsCompareRef);
// En este caso, el resultado de la validación será "true".
// Esto indica que el objeto proporcionado para la validación cumple con todas las reglas definidas en la estructura de datos ValidateIsCompareRefInteface.

// Nota: Si el valor proporcionado en "onValidate()" hubiera sido un objeto con valores diferentes para "keyA" y "keyB",
// la validación habría sido fallida, y el resultado habría sido un objeto de tipo ErrorInputNotEqual,
// que indica que los valores de "keyA" y "keyB" no son iguales.

Ejemplo: Crear un validador usando when

// Definir la interfaz que describe la estructura de datos para la validación
interface ValidateWhenInterface {
    a: number;
    b: string;
}
const ValidateWhen = FenextjsValidator<ValidateWhenInterface>()
    .setName("ValidateWhen")
    .isObject({
        a: FenextjsValidator()
            .setName("ValidateWhen.a")
            .isWhen({
                key: "b",
                is: FenextjsValidator().isEqual("bbb"),
                then: FenextjsValidator().setName("ValidateWhen.a").isMin(201),
            }),
        b: FenextjsValidator().setName("ValidateWhen.b"),
    })
    .onValidate({
        a: 200,
        b: "bbb",
    });

console.log(ValidateWhen);

// En este caso, el resultado de la validación será un objeto de tipo ErrorInputInvalid.
// Esto indica que el objeto proporcionado para la validación no cumple con todas las reglas definidas en la estructura de datos ValidateWhen.

// Nota: Si el valor proporcionado en "onValidate()" hubiera sido un objeto con a > 201 y b !="bbb",
// la validación no habría sido fallida, y el resultado habría sido "true"
// que indica que los valores de a se validan xq b = "bbb" y la validacion de a falla

Developer

Francisco Blanco

Gitlab franciscoblancojn

Email blancofrancisco34@gmail.com

Repositories

4.6.8

4 months ago

4.7.0

4 months ago

4.6.7

5 months ago

4.6.6

5 months ago

4.6.5

5 months ago

4.6.4

6 months ago

4.6.3

7 months ago

4.6.2

7 months ago

4.5.0

7 months ago

4.6.1

7 months ago

4.6.0

7 months ago

4.3.5

9 months ago

4.4.0

9 months ago

4.3.4

9 months ago

4.3.3

10 months ago

4.3.2

10 months ago

4.3.1

11 months ago

4.3.0

11 months ago

4.2.1

11 months ago

4.2.0

12 months ago

4.1.0

1 year ago

4.0.1

1 year ago

4.0.0

1 year ago

3.1.0

1 year ago

3.0.0

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.2.0

2 years ago

1.0.19

2 years ago

1.1.0

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago