Formulaires JavaScript
JavaScript 表单验证
HTML 表单验证可以通过 JavaScript 完成。
如果表单域 (fname) 为空,该函数会提示一条消息,并返回 false,以防止表单被提交:
Exemple JavaScript
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 验证概念,称为约束验证。
La validation HTML est basée sur :
- Attributs HTML input de validation
- Pseudo-sélecteur de validation CSS
- Attributs et méthodes DOM de validation
Attributs HTML input de validation
Attribut | Description |
---|---|
disabled | Définir que l'élément input doit être désactivé. |
max | Définir la valeur maximale de l'élément input. |
min | Définir la valeur minimale de l'élément input. |
pattern | Définir le modèle de valeur de l'élément input. |
required | Définir le champ input obligatoire. |
type | Définir le type de l'élément input. |
Pour une liste complète, veuillez visiter Attributs Input HTML.
Pseudo-sélecteur de validation CSS
Sélecteur | Description |
---|---|
:disabled | Sélectionnez l'élément input ayant l'attribut "disabled". |
:invalid | Sélectionnez l'élément input ayant une valeur invalide. |
:optional | Sélectionnez l'élément input ne having l'attribut "required". |
:required | Sélectionnez l'élément input ayant l'attribut "required". |
:valid | Sélectionnez l'élément input ayant une valeur valide. |
Pour une liste complète, veuillez visiter Pseudo-classe CSS.