Wygląda na to, że minlength
atrybut <input>
pola nie działa.
Czy jest jakiś inny atrybut w HTML5, za pomocą którego mogę ustawić minimalną długość wartości dla pól?
html
html5-validation
emilan
źródło
źródło
Odpowiedzi:
Możesz użyć
pattern
atrybutu .required
Atrybut również konieczna jest, w przeciwnym razie pole wejściowe z pustym wartości zostaną wykluczeni z więzów walidacji .Jeśli chcesz utworzyć opcję używania wzorca dla „pustej lub minimalnej długości”, możesz wykonać następujące czynności:
źródło
oninvalid="this.setCustomValidity('Your message')"
setCustomValidity
, będzie nadal wyświetlać komunikat o błędzie, nawet po poprawieniu danych wejściowych. Możesz użyć następującejonchange
metody, aby temu zaradzić.oninvalid="this.setCustomValidity('Field must contain min. 5 characters')" onchange="try{setCustomValidity('')}catch(e){}"
Nie jest
minlength
nieruchomość w HTML5 Spec teraz, jak równieżvalidity.tooShort
interfejs.Oba są teraz włączone w najnowszych wersjach wszystkich nowoczesnych przeglądarek. Aby uzyskać szczegółowe informacje, zobacz https://caniuse.com/#search=minlength .
źródło
minlength
atrybut od wersji 51 .Oto rozwiązanie tylko dla HTML5 (jeśli chcesz sprawdzać poprawność znaków minlength 5, maxlength 10)
http://jsfiddle.net/xhqsB/102/
źródło
title
atrybut z wymaganą wiadomością.pattern
odpowiedź została udzielona kilka miesięcy wcześniej . Jak ta odpowiedź jest lepsza?Tak jest. To jest jak maksymalna długość. Dokumentacja W3.org: http://www.w3.org/TR/html5/forms.html#attr-fe-minlength
W przypadku,
minlength
gdy nie działa, użyjpattern
dlainput
tagu atrybutu wspomnianego przez @ Pumbaa80 .Dla obszaru tekstowego: dla ustawienia maks .; użyj
maxlength
i przez min przejdź do tego linku .Znajdziesz tutaj zarówno dla maks., Jak i min.
źródło
Użyłem maxlength i minlength z lub bez
required
i działało to bardzo dobrze dla HTML5.`
źródło
Atrybut minLength (w przeciwieństwie do maxLength) nie istnieje natywnie w HTML5. Istnieją jednak sposoby sprawdzania poprawności pola, jeśli zawiera mniej niż x znaków.
Przykład podano za pomocą jQuery pod tym linkiem: http://docs.jquery.com/Plugins/Validation/Methods/minlength
źródło
Nie HTML5, ale i tak praktyczne: jeśli używasz AngularJS , możesz używać go
ng-minlength
zarówno do wprowadzania, jak i do obszarów tekstowych. Zobacz także ten Plunk .źródło
data-ng-minlength
ale dlaczego deweloper miałby dbać o standardy? > __>data-ng-minlength
również .Moje rozwiązanie dla obszaru tekstowego za pomocą jQuery i połączenia HTML5 wymagało sprawdzenia poprawności w celu sprawdzenia minimalnej długości.
minlength.js
HTML
źródło
minlength
atrybut jest obecnie szeroko obsługiwany w większości przeglądarek .Ale, podobnie jak w przypadku innych funkcji HTML5, w tej panoramie brakuje IE11. Tak więc, jeśli masz szeroką bazę użytkowników IE11, rozważ użycie
pattern
atrybutu HTML5, który jest obsługiwany prawie we wszystkich przeglądarkach (w tym IE11).Aby mieć ładną i jednolitą implementację oraz być może rozszerzalną lub dynamiczną (na podstawie frameworku, który generuje Twój HTML), głosowałbym na
pattern
atrybut:Jest jeszcze mały haczyk użyteczność podczas używania
pattern
. Podczas używania użytkownik zobaczy nieintuicyjny (bardzo ogólny) komunikat o błędzie / ostrzeżeniupattern
. Zobacz to jsfiddle lub poniżej:Na przykład w Chrome (ale podobnie w większości przeglądarek) otrzymasz następujące komunikaty o błędach:
za pomocą
minlength
iza pomocą
pattern
.źródło
Nowa wersja:
Rozszerza użycie (textarea i input) i naprawia błędy.
źródło
Zauważam, że czasami w chrome, gdy autouzupełnianie jest włączone, a pola są zgodne z metodą wbudowanej przeglądarki autouzupełniania, omija reguły sprawdzania poprawności minimalnej długości, więc w takim przypadku będziesz musiał wyłączyć autouzupełnianie za pomocą następującego atrybutu:
autocomplete = "wyłączony"
źródło
Zobacz http://caniuse.com/#search=minlength , niektóre przeglądarki mogą nie obsługiwać tego atrybutu.
Jeśli wartość „typu” jest jedną z nich:
tekst, e-mail, wyszukiwanie, hasło, tel lub adres URL (ostrzeżenie: nie zawiera numeru | brak obsługi przeglądarki „tel” teraz - 2017.10)
użyj atrybutu minlength (/ maxlength), określa minimalną liczbę znaków.
na przykład.
lub użyj atrybutu „wzorzec”:
Jeśli „typ” jest liczbą , mimo że minlength (/ maxlength) nie jest obsługiwany, możesz zamiast tego użyć atrybutu min (/ max).
na przykład.
źródło
Napisałem ten kod JavaScript, [minlength.js]:
źródło
Jeśli pragnienie, aby ten problem,
zawsze wykazują niewielką prefiks na polu wejściowym lub użytkownik nie może usunąć prefiks :
źródło
Użyłem wtedy wymaganych wartości max i min i działało to dla mnie bardzo dobrze, ale nie jestem pewien, czy jest to metoda kodowania. Mam nadzieję, że to pomoże
źródło
W moim przypadku, w którym sprawdzam najbardziej ręcznie i za pomocą przeglądarki Firefox (43.0.4)
minlength
ivalidity.tooShort
niestety nie są dostępne.Ponieważ do kontynuowania muszę mieć tylko zachowane minimalne długości, łatwym i wygodnym sposobem jest przypisanie tej wartości do innego ważnego atrybutu znacznika wejściowego. W takim przypadku Następnie można użyć
min
,max
orazstep
właściwości z [type = „number”] wejść.Zamiast przechowywać te ograniczenia w tablicy, łatwiej jest znaleźć ją zapisaną na tym samym wejściu, niż uzyskać identyfikator elementu zgodny z indeksem tablicy.
źródło
Dodaj wartość maksymalną i minimalną, możesz określić zakres dozwolonych wartości:
źródło