Parece que el minlength
atributo de un <input>
campo no funciona.
¿Hay algún otro atributo en HTML5 con cuya ayuda pueda establecer la longitud mínima de un valor para los campos?
html
html5-validation
emilan
fuente
fuente
Respuestas:
Puedes usar el
pattern
atributo . Elrequired
atributo también es necesario; de lo contrario, un campo de entrada con un valor vacío se excluirá de la validación de restricción .Si desea crear la opción de usar el patrón para "vacío o longitud mínima", puede hacer lo siguiente:
fuente
oninvalid="this.setCustomValidity('Your message')"
setCustomValidity
, continuará mostrándole el mensaje de error incluso después de corregir la entrada. Puede usar el siguienteonchange
método para contrarrestar esto.oninvalid="this.setCustomValidity('Field must contain min. 5 characters')" onchange="try{setCustomValidity('')}catch(e){}"
No es una
minlength
característica en HTML5 especificaciones ahora, así como lavalidity.tooShort
interfaz.Ambos están ahora habilitados en versiones recientes de todos los navegadores modernos. Para más detalles, consulte https://caniuse.com/#search=minlength .
fuente
minlength
atributos desde la versión 51 .Aquí hay una solución solo para HTML5 (si desea validación de longitud mínima 5, longitud máxima 10 caracteres)
http://jsfiddle.net/xhqsB/102/
fuente
title
atributo con el mensaje requerido.pattern
respuesta se ha dado unos meses antes . ¿Cómo es mejor esta respuesta?Sí, ahí está Es como la longitud máxima. Documentación de W3.org: http://www.w3.org/TR/html5/forms.html#attr-fe-minlength
En caso de
minlength
que no funcione, use elpattern
atributo mencionado por @ Pumbaa80 para lainput
etiqueta.Para textarea: Para configurar max; use
maxlength
y por min vaya a este enlace .Aquí encontrará tanto para máx. Como para mín.
fuente
Utilicé maxlength y minlength con o sin
required
y me funcionó muy bien para HTML5.``
fuente
El atributo minLength (a diferencia de maxLength) no existe de forma nativa en HTML5. Sin embargo, hay algunas formas de validar un campo si contiene menos de x caracteres.
Se da un ejemplo usando jQuery en este enlace: http://docs.jquery.com/Plugins/Validation/Methods/minlength
fuente
No HTML5, pero práctico de todos modos: si usa AngularJS , puede usarlo
ng-minlength
tanto para entradas como para áreas de texto. Ver también este Plunk .fuente
data-ng-minlength
pero ¿por qué un desarrollador se preocuparía por los estándares? > __>data-ng-minlength
así .Mi solución para textarea usando jQuery y combinando HTML5 requirió validación para verificar la longitud mínima.
minlength.js
HTML
fuente
minlength
El atributo ahora es ampliamente compatible en la mayoría de los navegadores .Pero, como con otras características HTML5, IE11 no se encuentra en este panorama. Por lo tanto, si tiene una amplia base de usuarios de IE11, considere usar el
pattern
atributo HTML5 que es compatible casi en todos los ámbitos en la mayoría de los navegadores (incluido IE11).Para tener una implementación agradable y uniforme y quizás extensible o dinámica (basada en el marco que genera su HTML), votaría por el
pattern
atributo:Todavía hay un pequeño problema de usabilidad cuando se usa
pattern
. El usuario verá un mensaje de error / advertencia no intuitivo (muy genérico) cuando lo usepattern
. Vea este jsfiddle o debajo:Por ejemplo, en Chrome (pero similar en la mayoría de los navegadores), recibirá los siguientes mensajes de error:
utilizando
minlength
yutilizando
pattern
.fuente
Nueva versión:
Extiende el uso (área de texto y entrada) y corrige errores.
fuente
Noté que, a veces, en Chrome cuando la función de autocompletar está activada y los campos son de campo por el método de compilación del navegador de autocompletar, omite las reglas de validación de longitud mínima, por lo que en este caso tendrá que deshabilitar la función de autocompletar con el siguiente atributo:
autocompletar = "apagado"
fuente
Consulte http://caniuse.com/#search=minlength , algunos navegadores pueden no admitir este atributo.
Si el valor del "tipo" es uno de ellos:
texto, correo electrónico, búsqueda, contraseña, teléfono o url (advertencia: no incluir número | no es compatible con el navegador "tel" ahora - 2017.10)
use el atributo minlength (/ maxlength), especifica el número mínimo de caracteres.
p.ej.
o use el atributo "patrón":
Si el "tipo" es número , aunque no se admite la longitud mínima (/ longitud máxima), puede usar min atributo (/ max) en su lugar.
p.ej.
fuente
Escribí este código JavaScript, [minlength.js]:
fuente
Si desea realizar este comportamiento,
siempre muestre un pequeño prefijo en el campo de entrada o el usuario no puede borrar un prefijo :
fuente
Usé max y min, luego los requerí y funcionó muy bien para mí, pero no estoy seguro si es un método de codificación. Espero que ayude
fuente
En mi caso, en el que valido más manualmente y usando Firefox (43.0.4),
minlength
yvalidity.tooShort
lamentablemente no están disponibles.Como solo necesito tener longitudes mínimas almacenadas para continuar, una manera fácil y práctica es asignar este valor a otro atributo válido de la etiqueta de entrada. En ese caso, puede usar
min
,max
ystep
propiedades de las entradas [type = "number"].En lugar de almacenar esos límites en una matriz, es más fácil encontrarlo almacenado en la misma entrada en lugar de hacer que la identificación del elemento coincida con el índice de la matriz.
fuente
Agregue un valor máximo y uno mínimo, puede especificar el rango de valores permitidos:
fuente