Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Duda] validity/mensajesDeError

Tengo una duda

const mensajesDeError = {
    nombre: {
        valueMissing: "Este campo nombre no puede estar vacío",
    },
    email: {
        valueMissing: "Este campo correo no puede estar vacío",
        typeMismatch: "El correo no es válido",
    },
    password: {
        valueMissing: "Este campo contraseña no puede estar vacío",
        patternMismatch: "Al menos 6 caracteres, máximo 12, debe contener una letra minúscula, una letra mayúscula, un número y no puede contener caracteres especiales.",
    },
    nacimiento: {
        valueMissing: "Este campo fecha no puede estar vacío",
        customError: "Debes tener al menos 18 años de edad",
    },
    numero: {
        valueMissing: "Este campo número de teléfono no puede estar vacío",
        patternMismatch: "El formato requerido es XXXXXXXXXX 10 números",
    },
    direccion: {
        valueMissing: 'Este campo dirección no puede estar vacío',
        patternMismatch: 'La direccción debe contener entre 10 a 40 carácteres',
    },
    ciudad: {
        valueMissing: 'Este campo ciudad no puede estar vacío',
        patternMismatch: 'La ciudad debe contener entre 10 a 40 carácteres',
    },
    estado: {
        valueMissing: 'Este campo estado no puede estar vacío',
        patternMismatch: 'El estado debe contener entre 10 a 40 carácteres',
    }
};

En las propiedades que se utiliza en mensajesDeError

Viendo en el navegador al acceder validityState con $0.validity, valueMissing es la única que aparece en true (devuelve true si el campo está vacío si estoy en lo correcto...), mientras que las demás como typeMismatch, patternMismatch y customError aparecen en false, por qué? no deberían aparecer en true ya que los campos están vacíos? y que hacen estos valores de cada propiedad independientemente que sean true o false?

2 respuestas
solución!

¡Hola Edwin!

En el objeto mensajesDeError que has compartido, las propiedades como typeMismatch, patternMismatch y customError no aparecen en true cuando el campo está vacío porque estas propiedades se refieren a errores específicos relacionados con el formato o la validación del campo, no solo si está vacío o no.

Por ejemplo, typeMismatch se activará si el campo de correo electrónico no cumple con el formato de un correo electrónico válido. patternMismatch se activará si el campo no coincide con el patrón especificado, como en el caso de la contraseña que debe tener una letra minúscula, una letra mayúscula y un número. customError se puede utilizar para definir errores personalizados que no están cubiertos por los errores predeterminados.

Por otro lado, valueMissing se activará cuando el campo esté vacío, como mencionaste correctamente.

Estos valores de cada propiedad (true o false) indican si se ha producido o no un error específico en el campo. Si el valor es true, significa que se ha producido el error correspondiente, y si es false, significa que no se ha producido ese error.

Espero que esto aclare tus dudas. Si tienes alguna otra pregunta, ¡estaré encantado de ayudarte!

¡Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios! :)

Gracias por resolver mi duda Rafaela, la verdad no caí en cuenta sobre el formato en especifico