JavaScript 驗證 API
- 上一頁 Web API 簡介
- 下一頁 Web History API
約束驗證 DOM 方法
屬性 | 描述 |
---|---|
checkValidity() | 如果 input 元素包含有效數據,則返回 true。 |
setCustomValidity() | 設置 input 元素的 validationMessage 屬性。 |
如果輸入字段包含無效數據,則顯示一條消息:
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>
約束驗證 DOM 屬性
屬性 | 描述 |
---|---|
validity | 包含與輸入元素有效性相關的布爾屬性。 |
validationMessage | 包含當有效性為 false 時瀏覽器將顯示的消息。 |
willValidate | 指示是否將驗證 input 元素。 |
有效性屬性
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。 |
實例
如果輸入字段中的數字大于 100(input 元素的 max
屬性),則顯示一條消息:
rangeOverflow 屬性
<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>
如果輸入字段中的數字小于 100(input 元素的 min
屬性),則顯示一條消息:
rangeUnderflow 屬性
<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>
- 上一頁 Web API 簡介
- 下一頁 Web History API