ホームページ  >  記事  >  php教程  >  PHP フォームのフォーム検証: PHP フォームバリデーターの使用手順

PHP フォームのフォーム検証: PHP フォームバリデーターの使用手順

WBOY
WBOYオリジナル
2016-06-21 08:53:281187ブラウズ

PHP ウェブサイトの開発と構築では、ユーザー登録とメッセージの送信は必須の機能であり、ユーザーが送信した情報データはデータの完全性と安全性を確保するために行われます。最初のステップでは、PHP にはフォーム送信データを検証するためのさまざまな方法があり、WEB2.0 時代の到来により、ユーザー エクスペリエンスを考慮して、JavaScript が一般的に使用されました。 Jquery Form フォーム検証プラグインは一般的な方法です。今日紹介したいのは、一般的な PHP フォーム検証に使用できるほか、フォーム検証のためにサードパーティ プログラムや Javascript と統合することもできる PHP フォーム バリデータです。特定の PHP フォーム検証ルールをカスタマイズすることもできます。PHP フォームバリデータは非常に使いやすいです。

PHP フォームバリデーターフォーム検証クラスの使用方法

1. PHP フォームバリデータをダウンロードし、PHP 環境設定で設定された Web サイトの実行ディレクトリに抽出します

2. 検証するフォームを作成し、ユーザー名、電子メール、メッセージ ボックスなどの最も一般的に使用されるオプションを作成します。具体的な PHP フォーム検証サンプルのソース コードは次のとおりです

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37


require_once "formvalidator.php";
$show_form=true;
if(isset($_POST['送信']))
{
$validator = 新しい FormValidator();
$validator->addValidation("名前", "req","ユーザー名を入力してください");
$validator->addValidation("メール", "email","正しいメール アドレスを入力してください");
$validator->addValidation("メール", "req","メールアドレスを入力してください");
if($validator->ValidateForm())
{
エコー 「PHP フォームの検証が成功しました。www.leapsoul.cn のサポートに感謝します。」;
$show_form=false;
}
その他
{
エコー 「エラーメッセージ:」;

$error_hash = $validator->GetErrors();
foreach($error_hash として $inpname => $inp_err)
{
エコー "

$inpname : $inp_err

n";
}
}
}

if(true == $show_form)
{
?>
<フォーム名='テスト' メソッド='POST' アクション='' accept-charset='UTF-8'>
名前:
電子メール:
<入力タイプ='送信' 名前='送信' 値='送信'>


}//true == $show_form
?>

PHP フォームバリデーターフォーム検証ソースコードサンプル解釈

行 1: PHP フォームバリデーターフォーム検証クラスを有効にするには、最初のステップは formvalidator.php を要求することです。

行 3: $show_form はフォームの表示を制御するために使用されるスイッチです。デフォルトでフォームが表示されます。

行 6 ~ 9: 検証が必要なフォームを送信する場合、最初に PHP フォーム検証クラスのエンティティを作成し、コード例では検証が必要なオプションをフォームに追加します。 ) とメールアドレスの 2 つのオプションが主に検証されます。

addValidation 関数の 3 つのパラメーターに関する特別な指示: 最初のパラメーターは、検証する必要があるフォーム内の項目、つまり、2 番目のパラメーターはルールの説明を表します。必須の文字などの検証。長さなどのさまざまな検証ルールを以下に紹介します。3 番目のパラメータは、フォームの検証が失敗したときに表示する必要があるエラー メッセージを表します。

行 10 ~ 24: PHP フォームバリデーターのフォーム検証クラスの ValidateForm() 関数を使用して、フォームが検証に合格したかどうかを判断します。検証に合格していない場合は、エラー メッセージが表示されます。自由に変更でき、特定のページにジャンプするなどの操作が可能です。

この時点で、PHP フォームバリデーターフォーム検証クラスを使用する最も基本的な方法が紹介されました。これによって定義されたフォーム検証ルールがニーズを満たさない場合は、特定の検証ルールを自分でカスタマイズできます。以下の通り

1. カスタム検証クラス CustomValidator を継承するサブクラス (MyValidator など) を作成し、DoValidate() 関数、つまり

を書き換えます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14


class MyValidator extends CustomValidator
{
function DoValidate(&$formars,&$error_hash)
{
if(stristr($formars['Comments'],'http://'))
{
$error_hash['Comments']="留言内容不能有URL地址";
return false;
}
return true;
}
}
?>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/>

< br/> クラス<🎜> MyValidator 拡張<🎜> CustomValidator
{<🎜>
関数<🎜> DoValidate(<🎜>&<🎜>$formars<🎜> ,&<🎜>$error_hash<🎜>)<🎜>
{<🎜>
if<🎜>(<🎜>stristr<🎜>(<🎜>$formars<🎜>[<🎜>'コメント'<🎜>]<🎜>< span class="sy0">,<🎜>'http://'<🎜>)<🎜>)< 🎜>
{<🎜>
$error_hash<🎜>[<🎜>'コメント'<🎜>]<🎜 >=<🎜>"メッセージ コンテンツに URL アドレスを含めることはできません"<🎜>;<🎜>
return<🎜> false<🎜>;<🎜>
}<🎜>
戻る<🎜> true<🎜>;<🎜>
}<🎜>
}<🎜>
<🎜>?><🎜><🎜><🎜><🎜><🎜>

フォーム検証ルールは上記のコードでカスタマイズされています。つまり、メッセージの内容に URL アドレスを含めることはできません。

2. カスタマイズしたフォーム検証ルールを既存のフォーム検証ルールに追加します。つまり、

1
2
3
4
5
6
7
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

1
2
3
4
5
6
7

$validator = new FormValidator();
$validator->addValidation("Name","req","请填写用户名");
    $validator->addValidation("Email","email","请填写正确的Email地址");
    $validator->addValidation("Email","req","请填写Email地址");

    $custom_validator = new MyValidator();
    $validator->AddCustomValidator($custom_validator);

$validator = 新しい FormValidator();
$validator->addValidation ("名前","req","ユーザー名を入力してください") ;スパン>
$validator->addValidation ("メール","メール","正しいメールアドレスを入力してください");スパン>
$validator->addValidation ("メール","req","メールアドレスを入力してください") ;スパン>

$custom_validator = 新しい MyValidator();
$validator->AddCustomValidator ($custom_validator); td>

カスタマイズされたフォーム検証ルールは、他のフォーム検証が完了した後に自動的に呼び出されます。

この時点で、PHP フォームバリデーターフォーム検証クラスのカスタム検証ルールの使用が導入されました。さらに、PHP フォームバリデーターフォーム検証クラスは、JavaScript またはサードパーティの JS および PHP クラスライブラリと組み合わせることができます。フォームの検証と拡張には非常に柔軟です。PHP フォーム バリデーターのフォーム検証の例については、ダウンロード ファイルのサンプル コードを参照してください。以下に、PHP フォームバリデーターフォーム検証クラス

のデフォルトの検証ルールを紹介します。

PHP Form Validator フォーム検証クラスの検証ルールの説明

req必須
maxlen=??? 入力データの最大長を確認します。たとえば、許可される最大長が 25 の場合、maxlen=25 の検証記述が与えられます。
minlen=??? 入力データの最小長を確認します。たとえば、許容される最小長は 5 です
alnum 文字と数字のみを使用できます
alnum_s 文字、数字、スペースのみが使用できます
num 数値データを確認します
alpha アルファベットデータを確認します
alpha_s文字とスペースを許可します
メール 有効なメールアドレス

lt=???
lessthan=??? データが指定された値より小さいかどうかを検証します。数値フィールドにのみ適用されます。たとえば、値が 1000 未満の場合、つまり lt=1000

gt=???
greaterthan=??? データが指定された値より大きいかどうかを検証します。数値フィールドにのみ適用されます。たとえば、値が 10 より大きい場合、つまり lt=10

regexp=???データが指定された正規表現と一致するかどうかを確認します
dontselect=??選択オプションのリストに「選択してください」というオプションがあるかどうかを確認します。選択できないオプションが「選択してください」の場合は、dontselect 値を「選択してください」に設定する必要があります
dontselectchk この検証の説明はチェック ボックスに関するものであり、ユーザーは設定されたチェック ボックスを選択できません
チェックする必要があります ユーザーは設定チェックボックスを選択する必要があります
dontselectradio この検証の説明はラジオ ボタン (ラジオ ボタン) に関するものであり、ユーザーは設定されたラジオ ボタンを選択できません
selectradio ユーザーは指定されたラジオ ボタンを選択する必要があります
selmin=?? チェックボックス グループで選択されるチェックボックスの最小数 (selmin=3
など) selone ユーザーはラジオ ボタン グループから少なくとも 1 つの項目を選択する必要があります
eqelmnt=??? フォーム内の 2 つの要素を比較し、「パスワード」と「パスワードの確認」などの値が同じかどうかを確認し、??? の値を入力に置き換えます。 eqelmnt=confirm_pwd

など、要素の名前が優先されます。

OK、これは PHP フォームバリデーターのフォーム検証クラスの検証ルールの紹介です。翻訳がうまくいかなかったり、理解に問題がある場合は、さらに試してみるか、メッセージを残してください。

PHP フォームバリデーターフォーム検証クラスでいくつかの検証例をデモする限り、そのユーザーエクスペリエンスは Jquery などのフォーム検証プラグインよりも悪くなく、カスタム PHP フォーム検証も非常に便利であることがわかります。そして実用的。

注意: PHP Web サイト開発チュートリアル-leapsoul.cn 転載の際は、元のソースとこの記述をリンクの形で明記してください。