JavaScript Validation API
- 前のページ API Storage
- 次のページ API Web
DOMの制約検証のメソッドと属性
メソッド
メソッド | 描述 |
---|---|
checkValidity() | input要素が有効データを含んでいる場合、trueを返します。 |
setCustomValidity() | input要素のvalidationMessage属性を設定します。 |
屬性
屬性 | 描述 |
---|---|
validity | input要素の有効性に関連する布尔属性を含みます。 |
validationMessage | 有効性が偽の時にブラウザが表示するメッセージを含みます。 |
willValidate | input要素の検証を行うかどうかを示します。 |
例 - checkValidity() メソッド
無効なデータが入力フィールドに含まれている場合、メッセージを表示します:
<input id="id1" type="number" min="100" max="300" required> <button onclick="myFunction()">OK</button> <p id="demo"></p> <script> function myFunction() { const inpObj = document.getElementById("id1"); if (!inpObj.checkValidity()) { document.getElementById("demo").innerHTML = inpObj.validationMessage; } } </script>
有效性屬性
input 元素的有效性屬性包含許多與數據有效性相關的屬性:
屬性 | 描述 |
---|---|
customError | 如果设置了自定义的有效性消息,則設置為 true。 |
patternMismatch | 如果元素的值與其 pattern 屬性不匹配,則設置為 true。 |
rangeOverflow | 如果元素的值大於其 max 屬性,則設置為 true。 |
rangeUnderflow | 如果元素的值小於其 min 屬性,則設置為 true。 |
stepMismatch | 如果元素的值根據其 step 屬性無效,則設置為 true。 |
tooLong | 如果元素的值超過其 maxLength 屬性,則設置為 true。 |
typeMismatch | 如果元素的值根據其 type 屬性無效,則設置為 true。 |
valueMissing | 如果元素(帶有 required 屬性)沒有值,則設置為 true。 |
valid | 如果元素的值有效,則設置為 true。 |
實例
rangeOverflow 屬性
如果 input 字段中的數字大於 100(input 的 max
属性),則表示一條消息:
<input id="id1" type="number" max="100"> <button onclick="myFunction()">OK</button> <p id="demo"></p> <script> function myFunction() { let text = "Value OK"; if (document.getElementById("id1").validity.rangeOverflow) { text = "Value too large"; } } </script>
rangeUnderflow 屬性
如果 input 字段中的數字大於 100(input 的 max
属性),則表示一條消息:
<input id="id1" type="number" min="100"> <button onclick="myFunction()">OK</button> <p id="demo"></p> <script> function myFunction() { let text = "値はOK"; if (document.getElementById("id1").validity.rangeUnderflow) { text = "値が小さい"; } } </script>
- 前のページ API Storage
- 次のページ API Web