QuickFormで入力チェック(必須チェック)[Pear::QuickForm]
必須項目の入力をチェックするには、 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が呼ばれ必須チェックを行います。