[PHP-users 27741] Re: PEAR:HTML_QuickForm_Rule による入力数値チェック

T Kammori kammoridensya @ yahoo.co.jp
2005年 12月 2日 (金) 23:04:43 JST


TKです。
何度もすいません。

大原様のアドバイスをよく読んでおりませんでした。

NumericRange という ruleがあるのではなく、
HTML_QuickForm_Rule_Range を参考に、というお話だったのですね。

早速クラスを作り、検証が終了しましたので
ご報告いたします。


<?php
    require_once "HTML/QuickForm.php";
	require_once('HTML/QuickForm/Rule.php');

	class HTML_QuickForm_Rule_NumericRange extends 
HTML_QuickForm_Rule
	{
	    function validate($value, $options)
	    {
	        return $options[0] <= $value && $value <= $options[1];
	    }
	}

    $form = new HTML_QuickForm('frmTest', 'get');

	$form->registerRule('NumericRange', null, 
'HTML_QuickForm_Rule_NumericRange');

    $form->addElement('text', 'MyTextBox', '数値を入力');
    $form->addElement('submit', 'btnSubmit', '送信');

	$form->addRule('MyTextBox', '5-10までの値を入力してください', 
'NumericRange', array(5, 10));

    if ($form->validate()) {
        // フォームの検証が成功したら、凍結する。
        $form->freeze();
    }
    $form->display();
?>


ありがとうございました!!!


>お世話になっております。
>
>
>(>大原様、ご返信が遅れまして申し訳ありません。)
>
>>HTML_QuickForm_Rule_Rangeが参考になると思います。
>>
>>
>>で、呼び出すとるとこんな感じ。
>>test_valueというのがチェックするテキストボックスの名前とすると、
>>
>>$form->addRule( 'test_value', 'error_msg', 'NumericRange', array( 0,  
>>10 ) );
>
>
>
>なるほど!NumericRangeなんていうものがあったのですね。
>マニュアルなどを血眼になって呼んだつもりだったのですが、
>見落としていたのかもしれません。
>
>マニュアルになかったらソースを追っかけるという習慣を
>身に着けるべきですね。
>
>検証はまだ行えていないのですが、
>取り急ぎお礼申し上げます。
>
>ありがとうございました!
>
>TK
>_______________________________________________
>PHP-users mailing list  PHP-users @ php.gr.jp
>http://ns1.php.gr.jp/mailman/listinfo/php-users
>PHP初心者のためのページ - 質問する前にはこちらをお読みください
>http://www.php.gr.jp/php/novice.php3


PHP-users メーリングリストの案内