QuickFormで妥当性検証(validating)[Pear::QuickForm]

QuickFormのメリットとして妥当性検証(validating)とフォームに入力された値の凍結 (freezing)があります。 ここでは、より実用に近い形で妥当性検証(validating)と凍結 (freezing)の方法を確認します。

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

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

    $objQF = new HTML_QuickForm('frmQF', 'get');
    $objQF->addElement('text', 'txtNAME', 'お名前は?');
    $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>

上記スクリプトが実行されると、「お名前は?」という文字とテキストボックスと性別を入力するラジオボタン、 クリアボタンと送信ボタンが表示されます。 お世辞にも、洗練されたデザインで表示されているとは言えないですね。

それでは、動作を確認してみます。

GETメソッド(submitボタン)で動作した際、validate関数で値の妥当性を検証します。

ここではなんら制限は設けていないので、必ず真が返ると思います。

次にfreeze関数で入力された値を変更できないようにします。

その後の表示では、テキストボックスなどは配置されず入力した値が文字列として表示されます。