[PHP-users 27734] Re: PEAR:HTML_QuickForm_Rule による入力数値チェック
oppara
mlml @ oppara.tv
2005年 12月 2日 (金) 11:18:27 JST
こんにちは、大原と申します。
> -------- 考察 -----------
> validate メソッドにおいては
> 引数にはフォームオブジェクトしか指定できない。
> 従って、0、10のような固定値を引数に渡すことができ
> ない?
HTML_QuickForm_Rule_Rangeが参考になると思います。
で、呼び出すとるとこんな感じ。
test_valueというのがチェックするテキストボックスの名前とすると、
$form->addRule( 'test_value', 'error_msg', 'NumericRange', array( 0,
10 ) );
> //ルールレジスト
> $form->registerRule('NumericRange', null,
> 'originalRangeCheck');
>
> // 0から10以外の値であればエラー
> $form->addRule(array('test_value', 0, 10), "0-10までの値
> を入力してください", 'NumericRange');
>
> -------- クラス -----------
> class originalRangeCheck extends HTML_QuickForm_Rule{
>
> function validate($array_value)
> {
> $target = $array_value[0];
> $from = $array_value[1];
> $to = $array_value[2];
>
> if (($from <= $target) and ($target <= $to)) {
> return true;
> }else{
> return false;
> }
> }
> }
>
>
------- 呼び出し側 -----------
PHP-users メーリングリストの案内