minlength на ввод типа text?

У меня к тебе вопрос.

Знаете ли вы, как указать минимальную длину для ввода текста?

Я попытался:

minlength="2"

min="2"

pattern=".{2,}"

pattern="^.{2,}$"

Для информации, это мой вклад:

<input type="text" class="form-control" name="firstname" id="firstname" placeholder="firstname" pattern="^.{2,}$" >

EDIT: я пробовал в Chrome, и он не работает. Но это работает на Firefox. Так что попробую поискать с этой стороны.


person C.Ramp    schedule 17.01.2020    source источник
comment
pattern=".{2,}" required эти атрибуты должны это делать   -  person Nicolae Maties    schedule 17.01.2020
comment
@NicolasMaties: я пробовал с required, но результат тот же.   -  person C.Ramp    schedule 17.01.2020
comment
@midnightgamer Я прочитал этот пост, но в моем случае он не сработает, потому что текст может быть очень длинным, поэтому я могу указать всю длину в шаблоне.   -  person C.Ramp    schedule 17.01.2020
comment
Каково ваше ожидаемое поведение?   -  person cнŝdk    schedule 17.01.2020
comment
@cнŝdk это форма, и если введено менее 2 символов, она не должна отправлять форму.   -  person C.Ramp    schedule 17.01.2020
comment
@ C.Ramp, в каком браузере вы тестируете этот HTML?   -  person Martin    schedule 17.01.2020
comment
@Мартин, я использую Chrome   -  person C.Ramp    schedule 17.01.2020
comment
Вы уверены, что загружаете файл, чтобы перезаписать текущий? Вы уверены, что принудительно обновляете страницу в браузере? 2 из 4 методов, которые вы публикуете, будут абсолютно работать в Chrome (любой версии). Таким образом, проблема заключается в том, что ваша страница не обновляется или у вас происходит что-то еще (например, ошибки javascript или синтаксиса за пределами показанного кода)   -  person Martin    schedule 17.01.2020
comment
@Мартин, я обязательно обновлю свою страницу. Я очистил кеш. я меняю свой код, чтобы убедиться, что я нахожусь на хорошей странице. и я вижу свои изменения.   -  person C.Ramp    schedule 17.01.2020
comment
Ваша страница онлайн? Могу ли я увидеть ссылку на него?   -  person Martin    schedule 17.01.2020
comment
@Мартин, это не в сети. Я не знаю, как показать вам.   -  person C.Ramp    schedule 17.01.2020
comment
@C.Ramp бросьте его на pastebin.com и сообщите мне URL-адрес. Спасибо   -  person Martin    schedule 17.01.2020


Ответы (1)


Атрибут minlength абсолютно правильный:

minlength="2"

Рабочий пример:

input:invalid {
  border: 1px dashed rgba(255, 0, 0, 0.5);
}
<form>
<input type="text" minlength="2" placeholder="Type here..." required />
<input type="submit">
</form>

Вы можете видеть, что если вы попытаетесь отправить форму до того, как введете допустимое значение в текстовый ввод, форма не будет отправлена, и браузер сообщит об ошибке.


Дополнительная литература:

person Rounin    schedule 17.01.2020
comment
Я хотел бы добавить, что без атрибута required minlength не будет иметь эффекта, ЕСЛИ ввод оставлен ПУСТОЙ - person Campiotti; 17.01.2020
comment
ставлю обязательно но результат тот же - person C.Ramp; 17.01.2020
comment
Если вы запустите приведенный выше фрагмент кода, вы увидите, что <input> окружен полупрозрачной красной пунктирной линией, когда он содержит символы 0 или 1, что указывает на то, что введенное значение недопустимо. Когда в него введено 2 или более символов, значение распознается как допустимое. - person Rounin; 17.01.2020
comment
@Rounin Понятно, поэтому я задаю этот вопрос. Это потому, что у меня нет такого поведения на моем сайте. - person C.Ramp; 17.01.2020
comment
Прогоняли ли вы свою разметку через валидатор, например: validator.w3.org/nu? - person Rounin; 17.01.2020
comment
@Rounin Я забыл это сделать. Так я сделал это, но у меня нет ошибок. - person C.Ramp; 17.01.2020
comment
@ C.Ramp Фрагмент кода в ответе Рунина правильно работает для вас в вашем браузере? - person Martin; 17.01.2020
comment
@Martin, когда я делаю новую страницу с кодом Рунина, она работает. но вставь мой код, он не работает. - person C.Ramp; 17.01.2020
comment
@ C.Ramp, тогда вам нужно выяснить, что происходит с вашей страницей - есть ли на ней Javascript? Я/мы ничем больше не можем помочь, но ответ на вопрос, который вы задали, определенно здесь ^^ . Почему этот ответ не работает в этом случае, невозможно судить, не видя дополнительных доказательств кода. Извини. - person Martin; 17.01.2020