HTML5 incorpora 8 formas de validar los valores introducidos por el usuario o por la aplicaición en los elementos de un formulario.
el objeto que permite acceder a las 8 restricciones es ValidityState
al que puede accederse desde cualquier control/elemento de foormulario en un browser que implemente HTML5:
var creditcardnumberCheck = document.myForm.creditcardnumber.validity;
la variable creditcardnumberCheck
guarda la referencia al objeto ValidityState
del input creditcardnumber
. el objeto contiene referencias para acceder a las 8 restricciones de validación y al resultado de la suma de la 8 en conjunto.
ValidityState
es un objeto dinámico y su contenido se actualiza con cada cambio del contenido de campo al que se refiere mientras nuestra variable conserve su referencia.
Para consultar el resultado de las 8 restricciones utilizamos
creditcardnumberCheckvalid;que devuleve
true
cuando las 8 restricciones son false
, y viceversa.
las 8 restricciones que contiene ValidityState
son:
true
cuando value
está vacío en un input con atributo required
true
cuando value
contiene una cadena que no cumple las las expectativas del tipo de input declarado (number, email, url, etc.)value
contiene una cadena que no cumple las restricciones del patrón que contiene pattern
true
cuando la longitud de la cadena de value
excede el valor del atributo maxlength
true
cuando value es menor que min
true
cuando value es mayor que max
true
cuando value no coincide con un múltiplo de step
true
cuando el input de confirmación de password no es igual que el input de passwordsetCustomValidity(message)
para que el eleemento de formulario esté dentro del objeto customError
. Ejemplo:
passwordConfimationField.setCustomValidity("La contraseña no coincide");donde passwordConfimationField es la referencia al input de confimación de contraseña del ejemplo citado más arriba.
ejemplo