Formulari JavaScript
JavaScript 表单验证
HTML 表单验证可以通过 JavaScript 完成。
如果表单域 (fname) 为空,该函数会提示一条消息,并返回 false,以防止表单被提交:
Esempio 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 validazione HTML si basa su:
- Proprietà HTML input di validazione vincolata
- Pseudo-selettore di validazione CSS
- Proprietà e metodi DOM di validazione vincolata
Proprietà HTML input di validazione vincolata
Proprietà | Descrizione |
---|---|
disabled | Disabilitare l'elemento input. |
max | Definire il valore massimo dell'elemento input. |
min | Definire il valore minimo dell'elemento input. |
pattern | Definire lo schema di valore dell'elemento input. |
required | Definire il campo input obbligatorio. |
type | Definire il tipo dell'elemento input. |
Per una lista completa, visitare Proprietà Input HTML.
Pseudo-selettore di validazione CSS
Selettore | Descrizione |
---|---|
:disabled | Selezionare l'elemento input con l'attributo "disabled" definito. |
:invalid | Selezionare l'elemento input con valore non valido. |
:optional | Selezionare l'elemento input senza l'attributo "required" definito. |
:required | Selezionare l'elemento input con l'attributo "required" definito. |
:valid | Selezionare l'elemento input con valore valido. |
Per una lista completa, visitare Pseudo-classe CSS.