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 = = "Value OK"; if (document.getElementById("id1").validity.rangeUnderflow) { text = "Value too small"; } } </script>
- 上一頁 API Storage
- 下一頁 API Web