purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

フォームの入力範囲を制限する

数値で入力範囲を限定したい場合がある時

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


↑のようにちょっと拡張すれば出来るようです。


僕の場合は

ライブラリディレクトリの
'HTML/QuickForm/Rule.php'内の一番したに

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

で、実際にごにょごにょしているphpファイルで

$form = new HTML_QuickForm("inForm","post");
$form->registerRule('NumericRange', null, 'HTML_QuickForm_Rule_NumericRange');

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

てな感じで$formを作っている行の真下に書いてあげたら動いた。