emilio
parece que minlength
atributo para un <input>
el campo no funciona.
¿Hay algún otro atributo en HTML con la ayuda del cual pueda establecer la longitud mínima de un valor para los campos?
usuario123444555621
Puedes usar el pattern
atributo. Él required
atributo también es necesario, de lo contrario, un campo de entrada con un valor vacío se excluirá de validación de restricciones.
<input pattern=".{3,}" required title="3 characters minimum">
<input pattern=".{5,10}" required title="5 to 10 characters">
Si desea crear la opción para usar el patrón para “longitud mínima o vacía”, puede hacer lo siguiente:
<input pattern=".{0}|.{5,10}" required title="Either 0 OR (5 to 10 chars)">
<input pattern=".{0}|.{8,}" required title="Either 0 OR (8 chars minimum)">
-
+1 por usar html5 en lugar de jQuery. Solo quería agregar que el atributo de título le permite configurar el mensaje para que se muestre al usuario si no se cumple el patrón. De lo contrario, se mostrará un mensaje predeterminado.
– Ninguno
30 de agosto de 2012 a las 22:46
-
@J.Money Todavía dice “Por favor, haga coincidir el formato solicitado:
“. ¿Hay alguna manera de omitir el mensaje predeterminado anterior? – CᴴᴀZ
1 de octubre de 2013 a las 7:52
-
Desafortunadamente esto es no compatible con áreas de texto.
– ThiefMaster
15/11/2013 a las 23:35
-
@ChaZ @Basj Puede agregar un mensaje de error personalizado agregando el siguiente atributo:
oninvalid="this.setCustomValidity('Your message')"
– bigtex777
26/11/2014 a las 20:31
-
Si ingresa una entrada no válida y está usando
setCustomValidity
, luego continuará mostrándole el mensaje de error incluso después de que haya corregido la entrada. Puedes usar lo siguienteonchange
método para contrarrestar esto.oninvalid="this.setCustomValidity('Field must contain min. 5 characters')" onchange="try{setCustomValidity('')}catch(e){}"
– sohaiby
24 de octubre de 2015 a las 8:56
rhgb
Allí es a minlength
propiedad en la especificación HTML5 ahora, así como el validity.tooShort
interfaz.
Ambos ahora están habilitados en versiones recientes de todos los navegadores modernos. Para más detalles, consulte https://caniuse.com/#search=minlength.
-
Veo esto, pero todavía no funciona para mí. También he requerido el conjunto, pero aún no lo he validado contra la longitud mínima. No estoy seguro de por qué.
– ggedde
23 de junio de 2022 a las 19:48
Ali Çarıkçıoğlu
Aquí hay una solución solo para HTML5 (si desea validación de caracteres minlength 5, maxlength 10)
http://jsfiddle.net/xhqsB/102/
<form>
<input pattern=".{5,10}">
<input type="submit" value="Check"></input>
</form>
-
¿Cómo configurar un mensaje de error personalizado si el campo no está bien?
– Basj
7 oct 2014 a las 20:47
-
Para agregar un mensaje personalizado
title
atributo con el mensaje requerido.– Shlomi Hasid
13 de junio de 2015 a las 11:57
-
Lo mismo
pattern
La respuesta se ha dado unos meses antes. ¿Cómo es mejor esta respuesta?– Dan Dascalescu
1 de septiembre de 2015 a las 0:58
-
@DanDascalescu No tenía etiquetas de formulario ni una explicación clara. También incluí una demostración de jsfiddle en funcionamiento. (por cierto, las reglas de Stackoverflow dicen que no está prohibido dar respuestas similares siempre que sea útil para la comunidad)
– Ali Çarıkçıoğlu
27 de enero de 2019 a las 13:55
-
Una forma de dar una respuesta aún mejor es incluir la demostración aquí en SO como fragmento de código ejecutable.
– Dan Dascalescu
27 de enero de 2019 a las 21:15
Sohel Ahmed Mesaniya
Sí, ahí está. Es como longitud máxima. Documentación de W3.org:
http://www.w3.org/TR/html5/forms.html#attr-fe-minlength
En caso minlength
no funciona, usa el pattern
atributo mencionado por @ Pumbaa80 para el input
etiqueta.
Para el área de texto:
Para configurar max; utilizar maxlength
y por min ir a este enlace.
Aquí encontrará tanto para max como para min.
benaff033
Usé maxlength y minlength con o sin required
y me funcionó muy bien para HTML5.
<input id="passcode" type="password" minlength="8" maxlength="10">
`
minlength
atributo es ahora ampliamente compatible en la mayoría de los navegadores.
<input type="text" minlength="2" required>
Pero, al igual que con otras características de HTML5, IE11 no se incluye en este panorama. Entonces, si tiene una amplia base de usuarios de IE11, considere usar el pattern
Atributo HTML5 que se admite casi en todos los ámbitos en la mayoría de los navegadores (incluyendo IE11).
Para tener una implementación agradable y uniforme y tal vez extensible o dinámica (basada en el marco que genera su HTML), votaría por el pattern
atributo:
<input type="text" pattern=".{2,}" required>
Todavía hay una pequeña trampa de usabilidad cuando usas pattern
. El usuario verá un mensaje de error/advertencia no intuitivo (muy genérico) cuando utilice pattern
. Ver este jsfiddle o por debajo:
<h3>In each form type 1 character and press submit</h3>
</h2>
<form action="#">
Input with minlength: <input type="text" minlength="2" required name="i1">
<input type="submit" value="Submit">
</form>
<br>
<form action="#">
Input with patern: <input type="text" pattern=".{2,}" required name="i1">
<input type="submit" value="Submit">
</form>
Por ejemplo, en Chrome (pero similar en la mayoría de los navegadores), obtendrá los siguientes mensajes de error:
Please lengthen this text to 2 characters or more (you are currently using 1 character)
mediante el uso minlength
y
Please match the format requested
mediante el uso pattern
.
Pedro Mortensen
Observé que, a veces, en Chrome, cuando la función de autocompletar está activada y los campos se realizan mediante 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 mediante el siguiente atributo:
autocompletar=”desactivado”
<input autocomplete="new-password" name="password" id="password" type="password" placeholder="Password" maxlength="12" minlength="6" required />
No será la respuesta para todos los campos, pero si solo quiere asegurarse de que haya un valor, puede usar el atributo “requerido”.
– Ninguno
30 de agosto de 2012 a las 22:55
Posible duplicado: stackoverflow.com/questions/5533053/textarea-character-limit/…
– Diseñador web
25 de febrero de 2013 a las 21:03
No existe, ¡pero armemos un escándalo y entremos! w3.org/Bugs/Public/show_bug.cgi?id=20557
–Eric Elliott
23 de septiembre de 2013 a las 4:01
Debe usar JS/Jquery si desea realizar una implementación completa (por ejemplo, requerido, longitud mínima, mensaje de error al enviar, etc.). Safari aún no admite completamente ni siquiera el atributo requerido, y solo Chrome y Opera admiten minLength. por ejemplo, ver caniuse.com/#search=required
– rmcsharry
13 de octubre de 2016 a las 12:22