[PHP-users 29018] HTML_QuickForm での日付の大小チェック
Yamada Kenichi
yamada_ken1232 @ yahoo.co.jp
2006年 4月 19日 (水) 11:32:36 JST
みなさん、こんにちは。
開始日≦終了日チェックって、よくあると思うのですが、
以下のテストコードが思うように機能してくれません。
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>compareの確認</TITLE>
</HEAD>
<?php
// http://localhost/comptest.php
require_once "HTML/QuickForm.php";
$title = "compareの確認";
$btntitle = "compareの確認";
// フォーム表示
$form = new HTML_QuickForm('frm', 'post');
$form->addElement('header', 'Header1', $title);
$form->addElement('text', 'USER_NAME','ユーザー名');
$form->addElement('date', 'CDATE', '日付1');
$form->addElement('date', 'CDATE2', '日付2');
$form->addElement('submit', 'btnSubmit', $btntitle);
// 必須項目設定
$form->addRule('USER_NAME', '入力が必要です', 'required');
$form->addRule('CDATE', '入力が必要です', 'required');
$form->addRule(array('CDATE', 'CDATE2'),
"日付1<=日付2で入力してください。",
'compare', '<=', 'server');
// 必須項目メッセージ設定
$form->setRequiredNote ('<font color=red>*</font>必須項目です');
$form->validate();
$form->display();
////////////////////////////////////////////////////////////////////////
?>
</HTML>
dateでなく、textならうまく機能します。
また、dateのときも '<=' の代わりに '==' なら機能します。
これは「仕様」と思ってあきらめるしかないのでしょうか?
「仕様」だとすると、うまい回避方法はないでしょうか?
---------------------------------------
山田健一
PHP-users メーリングリストの案内