Кажется, minlength
атрибут для <input>
поля не работает.
Есть ли в HTML5 какой-либо другой атрибут, с помощью которого я могу установить минимальную длину значения для полей?
html
html5-validation
emilan
источник
источник
Ответы:
Вы можете использовать
pattern
атрибут .required
Атрибут также необходим, в противном случае поле ввода с пустым значением будет исключено из ограничений проверки .Если вы хотите создать опцию использования шаблона для «пустой или минимальной длины», вы можете сделать следующее:
источник
oninvalid="this.setCustomValidity('Your message')"
setCustomValidity
, он продолжит отображать сообщение об ошибке даже после того, как вы исправили ввод. Вы можете использовать следующийonchange
метод, чтобы противостоять этому.oninvalid="this.setCustomValidity('Field must contain min. 5 characters')" onchange="try{setCustomValidity('')}catch(e){}"
Там является
minlength
свойство в HTML5 спецификации в настоящее время, а такжеvalidity.tooShort
интерфейс.Оба теперь включены в последних версиях всех современных браузеров. Для получения дополнительной информации см. Https://caniuse.com/#search=minlength .
источник
minlength
атрибут с версии 51 .Вот решение только для HTML5 (если вы хотите minlength 5, maxlength 10 проверки символов)
http://jsfiddle.net/xhqsB/102/
источник
title
атрибут с нужным сообщением.pattern
ответ был дан несколькими месяцами ранее . Как этот ответ лучше?Да, это так. Это как макс. Документация W3.org: http://www.w3.org/TR/html5/forms.html#attr-fe-minlength
В случае, если
minlength
это не работает, используйтеpattern
атрибут, упомянутый @ Pumbaa80 дляinput
тега.Для текстовой области: для установки макс; используйте
maxlength
и для мин перейдите по этой ссылке .Вы найдете здесь как для макс и мин.
источник
Я использовал maxlength и minlength с или без,
required
и это отлично сработало для меня в HTML5.`
источник
Атрибут minLength (в отличие от maxLength) изначально не существует в HTML5. Однако есть несколько способов проверить поле, если оно содержит менее x символов.
Пример приведен с использованием jQuery по этой ссылке: http://docs.jquery.com/Plugins/Validation/Methods/minlength
источник
Не HTML5, но в любом случае практично: если вы используете AngularJS , вы можете использовать
ng-minlength
как для ввода, так и для текстовых областей. Смотрите также этот Plunk .источник
data-ng-minlength
но зачем разработчику заботиться о стандартах? > __>data-ng-minlength
качестве колодца .Мое решение для textarea, использующее jQuery и сочетающее HTML5, требовало проверки для проверки минимальной длины.
minlength.js
HTML
источник
minlength
атрибут в настоящее время широко поддерживается в большинстве браузеров .Но, как и с другими функциями HTML5, IE11 отсутствует в этой панораме. Так что, если у вас широкая пользовательская база IE11, рассмотрите возможность использования
pattern
атрибута HTML5, который поддерживается практически во всех браузерах (включая IE11).Чтобы иметь хорошую и унифицированную реализацию и, возможно, расширяемую или динамичную (основанную на структуре, генерирующей ваш HTML), я бы проголосовал за
pattern
атрибут:Существует еще небольшое удобство улов при использовании
pattern
. Пользователь увидит неинтуитивное (очень общее) сообщение об ошибке / предупреждение при использованииpattern
. Смотрите это jsfiddle или ниже:Например, в Chrome (но аналогично в большинстве браузеров) вы получите следующие сообщения об ошибках:
используя
minlength
ис помощью
pattern
.источник
Новая версия:
Расширяет использование (textarea и input) и исправляет ошибки.
источник
Я замечаю, что иногда в chrome, когда автозаполнение включено и поля заполнены встроенным в браузер методом автозаполнения методом, он игнорирует правила проверки минимальной длины, поэтому в этом случае вам придется отключить автозаполнение с помощью следующего атрибута:
автозаполнения = «выключено»
источник
См. Http://caniuse.com/#search=minlength , некоторые браузеры могут не поддерживать этот атрибут.
Если значение «type» является одним из них:
текст, электронная почта, поиск, пароль, тел или URL (предупреждение: не включать номер | браузер не поддерживает "тел" сейчас - 2017.10)
используйте атрибут minlength (/ maxlength), он определяет минимальное количество символов.
например.
или используйте атрибут «pattern»:
Если «тип» - это число , то althougth minlength (/ maxlength) не поддерживается, вместо него можно использовать атрибут min (/ max).
например.
источник
Я написал этот код JavaScript, [minlength.js]:
источник
Если вы хотите сделать это,
всегда показывайте небольшой префикс в поле ввода, иначе пользователь не может стереть префикс :
источник
Я использовал max и min, затем требуемый, и он работал для меня очень хорошо, но я не уверен, что это метод кодирования. Я надеюсь, что это помогает
источник
В моем случае, когда я проверяю больше всего вручную и использую Firefox (43.0.4),
minlength
иvalidity.tooShort
, к сожалению , они недоступны.Поскольку для продолжения нужно хранить только минимальные длины, простой и удобный способ - присвоить это значение другому допустимому атрибуту входного тега. В этом случае вы можете использовать
min
,max
иstep
свойства из [type = "number"] входов.Вместо того, чтобы хранить эти ограничения в массиве, проще найти его сохраненным в том же входном сигнале, вместо того, чтобы получить идентификатор элемента, соответствующий индексу массива.
источник
Добавьте как максимальное, так и минимальное значение, вы можете указать диапазон допустимых значений:
источник