ValidityState インターフェイスは、制約の検証に関して、要素が持つことになる妥当性の状態を表します。要素の値が不正な場合に、なぜ検証に失敗するのかを知る手がかりにもなります。

プロパティ

下記のプロパティはどれも真偽値を返します。true は指定された検証が失敗したことを表します。ただし valid プロパティの true だけは、要素の値が全ての制約に適合していることを表します。

ValidityState.badInput 読取専用
入力値をブラウザが処理できないことを示す Boolean です。
ValidityState.customError 読取専用
その要素のカスタム検証メッセージが、 setCustomValidity() メソッドによって空文字以外に設定されていることを示す Boolean です。
ValidityState.patternMismatch 読取専用
値が、指定された pattern と一致しないことを示す Boolean です。
ValidityState.rangeOverflow 読取専用
値が、 max 属性で指定された最大値を超えていることを示す Boolean です。
ValidityState.rangeUnderflow 読取専用
値が、min 属性で指定された最小値を下回っていることを示す Boolean です。
ValidityState.stepMismatch 読取専用
値が、step 属性で決められた規則に合わないことを示す Boolean です。(つまり、step の値で割り切れないことを表します)
ValidityState.tooLong 読取専用
値が、HTMLInputElementHTMLTextAreaElement オブジェクトの maxlength を超えていることを示す Boolean です。
注: Gecko では maxlength より長い値はそもそも入力できないので、true になることは決してありません。
ValidityState.tooShort 読取専用
値が、HTMLInputElementHTMLTextAreaElement オブジェクトの minlength を下回っていることを示す Boolean です。
ValidityState.typeMismatch 読取専用
値が、(typeemailurl の場合に)求められる構文規則に従っていないことを示す Boolean です。
ValidityState.valid 読取専用
要素が全ての制約の検証に適合し、有効であることを示す Boolean です。
ValidityState.valueMissing 読取専用
required 属性が指定されているのに要素の値がないことを示す Boolean です。

仕様

仕様書 策定状況 コメント
HTML Living Standard
ValidityState の定義
現行の標準 現行の標準
HTML 5.1
ValidityState の定義
勧告 前回のスナップショット HTML5 から変更なし
HTML5
ValidityState の定義
勧告 このインターフェイスを含む HTML Living Standard の最初のスナップショット

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
ValidityStateChrome 完全対応 15Edge 完全対応 12Firefox 完全対応 4IE 完全対応 10Opera 完全対応 12.1Safari 完全対応 11WebView Android 完全対応 4Chrome Android 完全対応 ありFirefox Android 完全対応 64Opera Android 完全対応 12.1Safari iOS 完全対応 5Samsung Internet Android 完全対応 4.0
badInputChrome 完全対応 25Edge 完全対応 14Firefox 完全対応 29IE 未対応 なしOpera 完全対応 15Safari 完全対応 11WebView Android 完全対応 4.4Chrome Android 完全対応 ありFirefox Android 完全対応 64Opera Android 完全対応 14Safari iOS 完全対応 7Samsung Internet Android 完全対応 4.0
tooLongChrome 完全対応 15Edge 完全対応 12
補足
完全対応 12
補足
補足 Not supported in the unlikely case of the value being initially set too long, and then changed by the user to a still incorrect state. Per caniuse.com.
Firefox 完全対応 4
補足
完全対応 4
補足
補足 Not supported in the unlikely case of the value being initially set too long, and then changed by the user to a still incorrect state. Per caniuse.com.
IE 完全対応 10Opera 完全対応 15Safari 完全対応 11WebView Android 完全対応 4Chrome Android 完全対応 ありFirefox Android 完全対応 64Opera Android 完全対応 14Safari iOS 完全対応 5Samsung Internet Android 完全対応 4.0
tooShortChrome 完全対応 40Edge 完全対応 17Firefox 完全対応 51IE 未対応 なしOpera 完全対応 27Safari 完全対応 11WebView Android 完全対応 67Chrome Android 完全対応 ありFirefox Android 完全対応 64Opera Android 完全対応 27Safari iOS 完全対応 10Samsung Internet Android 完全対応 4.0

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mdnwebdocs-bot, sutara79
最終更新者: mdnwebdocs-bot,