JavaScript 验证 API

xiaoxiao2021-02-27  158

约束验证 DOM 方法

checkValidity(): 如果 input 元素中的数据是合法的返回 true,否则返回 false。 用法:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>输入数字并点击验证按钮:</p> <input id="id1" type="number" min="100" max="300" required> <button onclick="myFunction()">验证</button> <p>如果输入的数字小于 100 或大于300,会提示错误信息。</p> <p id="demo"></p> <script> function myFunction() { var inpObj = document.getElementById("id1"); if (inpObj.checkValidity() == false) { document.getElementById("demo").innerHTML = inpObj.validationMessage; } else { document.getElementById("demo").innerHTML = "输入正确"; } } </script> </body> </html>

setCustomValidity(): 设置 input 元素的 validationMessage 属性,用于自定义错误提示信息的方法。 使用 setCustomValidity 设置了自定义提示后,validity.customError 就会变成true,则 checkValidity 总是会返回false。 用法:

<body> <input type="text" id="input" required /> <button type="submit" onclick="myFunction()">提交</button> <p id="demo"></p> <script> function myFunction(){ var x=document.getElementById("input"); if(x.checkValidity()==false){x.setCustomValidity("输入错误,请重新输入!")} document.getElementById("demo").innerHTML=x.validationMessage; } </script> </body>

取消自定义提示,方式如下:

setCustomValidity('') setCustomValidity(null) setCustomValidity(undefined)

约束验证 DOM 属性

validity: 布尔属性值,返回 input 输入值是否合法 Validity 属性: rangeOverflow:设置为 true, 如果元素的值大于设置的最大值。 rangeUnderflow:设置为 true, 如果元素的值小于它的最小值。 用法:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>输入数字并点击验证按钮:</p> <input id="id1" type="number" max="100"> <button onclick="myFunction()">验证</button> <p>如果输入的数字大于 100 ( input 的 max 属性), 会显示错误信息。</p> <p id="demo"></p> <script> function myFunction() { var txt = ""; if (document.getElementById("id1").validity.rangeOverflow) { txt = "输入的值太大了"; } else { txt = "输入正确"; } document.getElementById("demo").innerHTML = txt; } </script> </body> </html>

注意: document.getElementById(“id1”).validity.rangeOverflow意思是:如果输入的数字大于设置的最大值,validity.rangeOverflow就为true。

Validity属性需补充

转载请注明原文地址: https://www.6miu.com/read-14867.html

最新回复(0)