JavaScript 表單
JavaScript 表單驗證
HTML 表單驗證可以通過 JavaScript 完成。
如果表單域 (fname) 為空,該函數會提示一條消息,并返回 false,以防止表單被提交:
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 驗證概念,稱為約束驗證。
HTML 約束驗證基于:
- 約束驗證 HTML input 屬性
- 約束驗證 CSS 偽選擇器
- 約束驗證 DOM 屬性和方法
約束驗證 HTML input 屬性
屬性 | 描述 |
---|---|
disabled | 規定應禁用 input 元素。 |
max | 規定 input 元素的最大值。 |
min | 規定 input 元素的最小值。 |
pattern | 規定 input 元素的值模式。 |
required | 規定 input 字段必填。 |
type | 規定 input 元素的類型。 |
如需完整列表,請訪問 HTML Input 屬性。
約束驗證 CSS 偽選擇器
選擇器 | 描述 |
---|---|
:disabled | 選擇規定了 "disabled" 屬性的 input 元素。 |
:invalid | 選擇有無效值的 input 元素。 |
:optional | 選擇未規定 "required" 屬性的 input 元素。 |
:required | 選擇規定了 "required" 屬性的 input 元素。 |
:valid | 選擇具有有效值的 input 元素。 |
如需完整列表,請訪問 CSS 偽類。