QuickFormで入力チェック(必須チェック)[Pear::QuickForm]

メモ:  Category:pear

必須項目の入力をチェックするには、 addRule 関数を使用します。

チェックの方法は、2種類用意されサーバー側でチェックする方法とクライアント側でチェックする方法が 用意されています。

まず、サーバー側からのコードを検証します。

<html>
<head>
<title>QuickForm サンプル</title>

</head>
<body>
<?php
    require_once "HTML/QuickForm.php";

    $objQF = new HTML_QuickForm('frmQF', 'get');

    $objQF->addElement('text', 'txtNAME', 'お名前は?');
    //ルールの追加
    $objQF->addRule('txtNAME','名前を入力してください。','required');

    $objQF->addElement('radio', 'rdoSEX','', '男',0);
    $objQF->addElement('radio', 'rdoSEX','', '女',1);
    $objQF->addElement('reset', 'btnCLEAR', 'クリア');
    $objQF->addElement('submit', 'btnSUBMIT', '送信');
    if ($objQF->validate()) {    // フォームの検証
        //フォームに入力された値を凍結する。
        $objQF->freeze();
    }
    $objQF->display();

?>
</body>
</html>

上記スクリプトは、「お名前は?」というテキストボックスを必須入力にしています。 addRule の第一引数にaddElementした要素の名前、第二引数にエラーメッセージ、第三引数にチェックの種類を指定します。

エラー表示例

次に、クライアント側での検証です。

クライアント側での検証は、JavaScriptで行われます。

//ルールの追加
$objQF->addRule('txtNAME','名前を入力してください。','required','', 'client');

第五引数に ‘client’ と指定することで、JavaScriptが挿入されクライアント側でチェックされます。

<form action="/index.php" method="get" name="frmQF" id="frmQF" onsubmit="return validate_frmQF(this);">

onsubmitによりJavaScriptが呼ばれ必須チェックを行います。

エラー表示例JavaScript

bluenote by BBB