ValidityState
=============

Baseline 2023
-------------

Newly availableSince March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
Интерфейс **`ValidityState`** представляет *состояния валидности*, в которых может находиться элемент при валидации ограничений. Вместе они помогают понять, по какой именно причине значение элемента не прошло валидацию.

Свойства
--------

Если свойство возвращает `true`, значит оно отражает причину, по которой значение не прошло валидацию. Исплючением является лишь свойство `valid`, которое возвращает `true`, когда значение элемента соответствует всем ограничениям.

`badInput` Только для чтения 

`Boolean` `true`, если пользователь ввёл значение, которое браузер не может преобразовать.

`customError` Только для чтения 

`Boolean`, указывающий, было ли установлено кастомное сообщение валидации путём вызова метода `setCustomValidity()` (en-US) с непустой строкой в аргументе.

`patternMismatch` Только для чтения 

`Boolean` `true`, если значение не соответствует шаблону, указанному в атрибуте `pattern`. `false`, если значение соответствует этому шаблону. Если `true`, элемент соответствует CSS-псевдоклассу `:invalid`.

`rangeOverflow` Только для чтения 

`Boolean` `true`, если значение больше максимума, заданного в атрибуте `max`. `false`, если значение меньше или равно ему. Если `true`, элемент соответствует CSS-псевдоклассам `:invalid` и `:out-of-range`.

`rangeUnderflow` Только для чтения 

`Boolean` `true`, если значение меньше минимума, заданного в атрибуте `min`. `false`, если значение больше или равно ему. Если `true`, элемент соответствует CSS-псевдоклассам `:invalid` и `:out-of-range`.

`stepMismatch` Только для чтения 

`Boolean` `true`, если значение не соответствует правилам, заданным в атрибуте `step` (то есть, не делится без остатка на значение шага). `false`, если соответствует этим правилам. Если `true`, элемент соответствует CSS-псевдоклассам `:invalid` и `:out-of-range`.

`tooLong` Только для чтения 

`Boolean` `true`, если значение превышает лимит, указанный в атрибуте `maxlength` объектов `HTMLInputElement` (en-US) или `HTMLTextAreaElement` (en-US). `false`, если длина меньше или равна максимальной длине. ***Примечание:** Данное свойство никогда не будет `true` в Gecko, потому что значению элемента не разрешается быть больше `maxlength`.* Если `true`, элемент соответствует CSS-псевдоклассам `:invalid` и `:out-of-range`.

`tooShort` Только для чтения 

`Boolean` `true`, если длина значения не достигает минимума, указанного в атрибуте `minlength` объектов `HTMLInputElement` (en-US) и `HTMLTextAreaElement` (en-US). `false`, если длина больше или равна ему. Если `true`, элемент соответствует CSS-псевдоклассам `:invalid` и `:out-of-range`.

`typeMismatch` Только для чтения 

`Boolean` `true`, если значение не соответствует требуемому синтаксису (когда для `type` задано значение `email` или `url`). `false`, если синтаксис корректный. Если `true`, элемент соответствует CSS-псевдоклассу `:invalid`.

`valid` Только для чтения 

`Boolean` `true`, если элемент соответствует всем ограничениям валидации и, следовательно, считается валидным. `false`, если не соответствует любому ограничению. Если `true`, элемент соответствует CSS-псевдоклассу `:valid`; иначе — псевдоклассу `:invalid`.

`valueMissing` (en-US) Только для чтения 

`Boolean` `true`, если у элемента есть атрибут `required`, но сам элемент заполнен не был. `false`, если элемент был заполнен. Если `true`, элемент соответствует CSS-псевдоклассу `:invalid`.

Спецификации
------------

| Specification |
| --- |
| HTML Standard # the-constraint-validation-api:validitystate-3 |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Также смотрите
--------------

* Руководство: Валидация ограничений (en-US)
* Учебник: Валидация форм