JavaScript formulær
JavaScript表单验证
HTML表单验证可以通过JavaScript完成。
如果表单域(fname)为空,该函数会提示一条消息,并返回false,以防止表单被提交:
JavaScript-eksempel
function validateForm() { let x = document.forms["myForm"]["fname"].value; if (x == "") { alert("Name must be filled out"); return false; } }
提交表单时可以调用该函数:
HTML表单实例
<form name="myForm" action="/action_page.php" onsubmit="return validateForm()" method="post"> Name: <input type="text" name="fname"> <input type="submit" value="Submit"> </form>
自动HTML表单验证
HTML表单验证可以由浏览器自动执行:
如果表单字段(fname)为空,则 required 属性会阻止提交此表单:
HTML表单实例
<form action="/action_page.php" method="post"> <input type="text" name="fname" required> <input type="submit" value="Submit"> </form>
提示:自动HTML表单验证在Internet Explorer 9或更早版本中不起作用。
数据验证
数据验证是确保用户输入干净、正确和有用的过程。
典型的验证任务是:
- 用户是否填写了所有必填字段?
- 用户是否输入了有效日期?
- 用户是否在数字字段中输入了文本?
大多数情况下,数据验证的目的是确保用户输入正确。
验证可以通过许多不同的方法定义,并以许多不同的方式部署。
服务器端验证由Web服务器在输入发送到服务器后执行。
在将输入发送到Web服务器之前,客户端验证由Web浏览器执行。
HTML约束验证
HTML5引入了一种新的HTML验证概念,称为约束验证。
HTML-begrænsningsvalidering er baseret på:
- Begrænsningsvalidering HTML input-egenskaber
- Begrænsningsvalidering CSS pseudo-selektorer
- Begrænsningsvalidering DOM egenskaber og metoder
Begrænsningsvalidering HTML input-egenskaber
Egenskab | Beskrivelse |
---|---|
disabled | Definer, at input-elementet skal være deaktiveret. |
max | Definer input-elementets maksimale værdi. |
min | Definer input-elementets mindste værdi. |
pattern | Definer input-elementets værdimønster. |
required | Definer input-feltet som obligatorisk. |
type | Definer input-elementets type. |
For en fuld liste, besøg HTML Input-attributter.
Begrænsningsvalidering CSS pseudo-selektorer
Vælger | Beskrivelse |
---|---|
:disabled | Vælg input-elementer, der har defineret "disabled"-egenskaben. |
:ugyldig | Vælg input-elementer med ugyldige værdier. |
:valgfri | Vælg input-elementer, der ikke har defineret "required"-egenskaben. |
:required | Vælg input-elementer, der har defineret "required"-egenskaben. |
:valid | Vælg input-elementer med gyldige værdier. |
For en fuld liste, besøg CSS pseudo-klasser.