Hola, hemos encontrado la respuesta a lo que buscas, continúa leyendo y la obtendrás un poco más abajo.
Solución:
Si establece un valor con setCustomValidity()
entonces el campo no es válido. Eso es establecer una longitud distinta de cero string hace que el navegador considere que el campo no es válido. Para tener efectos de su nueva entrada, debe borrar la validez personalizada. Simplemente puedes usar lo siguiente:
No hay necesidad de usar Javascript para esto.
Puede configurar un mensaje de validez personalizado con setCustomValidity
sin embargo cualquier no en blanco string hará que el campo actúe como si tuviera un valor no válido. Necesitas setCustomValidity('')
para borrar el estado invalidado del campo.
Si su validez es simple y controlada vía campo attributespuedes usar object.willValidate
para hacer la prueba y configurar el mensaje de validez personalizado:
oninvalid="this.setCustomValidity(this.willValidate?'':'your custom message')"
Si usted setCustomValidity
a cualquier valor que no sea el vacío string entonces eso hará que el input
estar en el invalid
estado. Entonces, su condición es verificar un valor y luego configurar el campo para que sea invalid
de todas formas. Solamente setCustomValidity
cuando el valor en el campo no es realmente válido; de lo contrario, configúrelo en un valor vacío string:
Agradecemos que quieras añadir valor a nuestro contenido añadiendo tu experiencia en los comentarios.