HTMLフォームの検証は、JavaScriptで行うことができます。
フォームのフィールド(fname)が空の場合、フォームが送信されないように、この関数はメッセージを警告し、false を返します:
function validateForm() {
var
x = document.forms["myForm"]["fname"].value;
if (x == "") {
alert("Name must be filled out");
return false;
}
}
この関数は、フォームを送信するときに呼び出すことができます:
<form name="myForm" action="demo_form.html" onsubmit="return validateForm()"
method="post">
Name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>
Try it Yourself »
JavaScript は、よく数値入力の検証に使用します:
1 ~ 10 の間の数値を入力してください
Try it Yourself »HTML フォームの検証は、ブラウザで自動的に実行できます:
フォーム・フィールド(fname)が空の場合、required 属性によってこのフォームが送信されなくなります:
<form action="demo_form.html" method="post">
<input type="text" name="fname" required>
<input type="submit" value="Submit">
</form>
Try it Yourself »
自動 HTML フォーム検証は、Internet Explorer 9 以前では機能しません。
データ検証は、ユーザーの入力がきれいで、正確で、有用であることを保証するプロセスです。
一般的な検証動作は次の通りです:
ほとんどの場合、データ検証の目的は正しいユーザー入力を保証することです。
検証は、さまざまな方法で定義でき、さまざまな方法で配置できます。
サーバ側の検証は、入力がサーバに送信された後、Web サーバによって実行されます。
クライアント側の検証は、入力を Web サーバに送信する前に、Web ブラウザが実行します。
HTML5 では、制約検証と呼ばれる新しい HTML 検証の概念が導入されました。
HTML制約の検証は、以下に基づいています:
属性 | 説明 |
---|---|
disabled | 入力要素を無効にすることを指定します |
max | 入力要素の最大値を指定します |
min | 入力要素の最小値を指定します |
pattern | 入力要素の値のパターンを指定します |
required | 入力フィールドに要素が必須であることを指定します |
type | 入力要素の型を指定します |
完全なリストは、HTML 入力属性を参照してください。
セレクタ | 説明 |
---|---|
:disabled | "disabled" 属性が指定された入力要素を選択します |
:invalid | 無効な値を持つ入力要素を選択します |
:optional | "required" 属性が指定されていない入力要素を選択します |
:required | "required" 属性が指定された入力要素を選択します |
:valid | 有効な値を持つ入力要素を選択します |
完全なリストは、CSS 擬似クラスを参照してください。