ValidityState: свойство tooLong
Базовая Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна в браузерах с декабря 2018 года.
Только для чтения tooLong свойство интерфейса ValidityState указывает, превышает ли значение <input> или <textarea>, после редактирования пользователем, максимальную длину кодовых единиц, установленную атрибутом элемента maxlength.
Значение
Булево значение, которое является true , если значение ValidityState не соответствует ограничениям.
Примеры
Текстовая область с слишком большим количеством символов
В следующем примере проверяется корректность элемента textarea. Ограничение добавлено с помощью атрибута maxlength, поэтому textarea ожидает максимум 10 символов. Если в textarea слишком много символов (как показано ниже), элемент не проходит проверку на соответствие ограничениям, и применяются стили, соответствующие псевдоклассу CSS :invalid.
При редактировании textarea браузер не позволит пользователю добавлять символы, которые не соответствуют ограничениям по максимальному количеству символов, поэтому изначально разрешено только удаление символов. Символы новой строки нормализуются и считаются как один символ при расчете максимальной длины.
textarea:invalid {
outline: red solid 3px;
}
<pre id="log">Validation logged here...</pre> <textarea name="story" id="userText" maxlength="10" rows="5"> It was a dark and stormy night... </textarea>
const userInput = document.getElementById("userText");
const logElement = document.getElementById("log");
function log(text) {
logElement.innerText = text;
}
userInput.addEventListener("input", () => {
userInput.reportValidity();
if (userInput.validity.tooLong) {
log("Too many characters in the textarea.");
} else {
log("Input is valid…");
}
});
Спецификации
| Спецификация |
|---|
| HTML # dom-validitystate-toolong-dev |
Совместимость с браузерами
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
tooLong |
4 | 12Не поддерживается в редком случае, когда значение изначально установлено слишком длинным, а затем изменено пользователем на все еще некорректное состояние. Согласно caniuse.com. |
4Не поддерживается в редком случае, когда значение изначально установлено слишком длинным, а затем изменено пользователем на все еще некорректное состояние. Согласно caniuse.com. |
12.1 | 5 | 18 | 64 | 12.1 | 5 | 1.0 | 4 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ValidityState/tooLong