Parece que o minlength
atributo para um <input>
campo não funciona.
Existe algum outro atributo no HTML5 com a ajuda do qual posso definir o tamanho mínimo de um valor para os campos?
html
html5-validation
emilan
fonte
fonte
Respostas:
Você pode usar o
pattern
atributo . Orequired
atributo também é necessário, caso contrário, um campo de entrada com um valor vazio será excluído da validação de restrição .Se você deseja criar a opção de usar o padrão para "comprimento vazio ou mínimo", faça o seguinte:
fonte
oninvalid="this.setCustomValidity('Your message')"
setCustomValidity
, ela continuará mostrando a mensagem de erro, mesmo após a correção. Você pode usar o seguinteonchange
método para combater isso.oninvalid="this.setCustomValidity('Field must contain min. 5 characters')" onchange="try{setCustomValidity('')}catch(e){}"
Agora há uma
minlength
propriedade na especificação HTML5 , bem como navalidity.tooShort
interface.Agora, ambos estão ativados nas versões recentes de todos os navegadores modernos. Para detalhes, consulte https://caniuse.com/#search=minlength .
fonte
minlength
atributos desde a versão 51 .Aqui está a solução somente para HTML5 (se você deseja validação de minlength 5 e maxlength 10 caracteres)
http://jsfiddle.net/xhqsB/102/
fonte
title
atributo com a mensagem necessária.pattern
resposta foi dada alguns meses antes . Como esta resposta é melhor?Sim está aí. É como comprimento máximo. Documentação do W3.org: http://www.w3.org/TR/html5/forms.html#attr-fe-minlength
Caso
minlength
isso não funcione, use opattern
atributo mencionado por @ Pumbaa80 para ainput
tag.Para área de texto: Para definir max; use
maxlength
e por min vá para este link .Você encontrará aqui para max e min.
fonte
Usei maxlength e minlength com ou sem
required
e funcionou muito bem para HTML5.`
fonte
O atributo minLength (diferente do maxLength) não existe nativamente no HTML5. No entanto, existem algumas maneiras de validar um campo se ele contiver menos de x caracteres.
Um exemplo é dado usando jQuery neste link: http://docs.jquery.com/Plugins/Validation/Methods/minlength
fonte
Não é HTML5, mas é prático de qualquer maneira: se você usa o AngularJS , pode usar
ng-minlength
para entradas e áreas de texto. Veja também este Plunk .fonte
data-ng-minlength
mas por que um desenvolvedor se importaria com os padrões? > __>data-ng-minlength
também .Minha solução para a área de texto usando jQuery e combinando a validação HTML5 exigia a verificação do tamanho mínimo.
minlength.js
HTML
fonte
minlength
O atributo agora é amplamente suportado na maioria dos navegadores .Mas, como em outros recursos do HTML5, o IE11 está ausente nesse panorama. Portanto, se você possui uma ampla base de usuários do IE11, considere o uso do
pattern
atributo HTML5, que é suportado praticamente na maioria dos navegadores (incluindo o IE11).Para ter uma implementação agradável e uniforme e talvez extensível ou dinâmica (com base na estrutura que gera seu HTML), eu votaria no
pattern
atributo:Ainda há uma pequena captura de usabilidade ao usar
pattern
. O usuário verá uma mensagem de erro / aviso não intuitiva (muito genérica) ao usarpattern
. Veja este jsfiddle ou abaixo:Por exemplo, no Chrome (mas semelhante na maioria dos navegadores), você receberá as seguintes mensagens de erro:
usando
minlength
eusando
pattern
.fonte
Nova versão:
Ele estende o uso (área de texto e entrada) e corrige bugs.
fonte
Percebo que algumas vezes no chrome quando o preenchimento automático está ativado e os campos são preenchidos pelo método de compilação do navegador de preenchimento automático, ele ignora as regras de validação de minlength; portanto, nesse caso, você precisará desativar o preenchimento automático pelo seguinte atributo:
autocomplete = "off"
fonte
Consulte http://caniuse.com/#search=minlength , alguns navegadores podem não suportar esse atributo.
Se o valor do "tipo" for um deles:
texto, email, pesquisa, senha, tel ou url (aviso: não incluir número | nenhum suporte ao navegador "tel" agora - 2017.10)
use o atributo minlength (/ maxlength), especifica o número mínimo de caracteres.
por exemplo.
ou use o atributo "padrão":
Se o "tipo" for número , não há suporte para o tamanho mínimo (/ maxlength), mas você poderá usar o atributo min (/ max).
por exemplo.
fonte
Eu escrevi este código JavaScript, [minlength.js]:
fonte
Se você deseja fazer esse comportamento,
sempre mostre um pequeno prefixo no campo de entrada ou o usuário não pode apagar um prefixo :
fonte
Eu usei max e min então necessário e funcionou muito bem para mim, mas o que não tenho certeza é se é um método de codificação. Espero que ajude
fonte
No meu caso, no qual eu valido mais manualmente e usando o Firefox (43.0.4),
minlength
evalidity.tooShort
infelizmente não estou disponível.Como eu só preciso ter comprimentos mínimos armazenados para prosseguir, uma maneira fácil e prática é atribuir esse valor a outro atributo válido da tag de entrada. Nesse caso, então, você pode usar
min
,max
estep
propriedades de [type = "number"] entradas.Em vez de armazenar esses limites em uma matriz, é mais fácil encontrá-lo armazenado na mesma entrada, em vez de fazer com que o ID do elemento corresponda ao índice da matriz.
fonte
Adicione um valor máximo e um mínimo, você pode especificar o intervalo de valores permitidos:
fonte