人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

php5.1.6でHTML_QuickFormを使用しています。
1から1080までの数字のみ入力可にしたいのですが、addRuleではどのように書けばよろしいでしょうか?
よろしくお願いします。

●質問者: seadwell
●カテゴリ:ウェブ制作
✍キーワード:入力 数字
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● Banias
●2ポイント

addRule('hogehoge', '1-1080までの値を入力してください', 'NumericRange', array(1, 1080));

◎質問者からの返答

ご回答ありがとうございます。

クラスを作れば?ということですか?


2 ● tdoi
●44ポイント

手っ取り早いのは、callbackを使ってしまうことでしょうか。

ベタベタに書くとこんな感じでしょうか。

function checkrange($value)
{
 return ((1 <= $v) && ($v <= 1080));
}

$form = new HTML_QuickForm('frmTest', 'get');
$form->addElement('header', 'MyHeader', 'QuickFormのテスト');
$form->addElement('text', 'text1', 'TEXT');
$form->addElement('submit', 'btnSubmit', '送信');

$form->addRule('text1', 'required', 'required');
$form->addRule('text1', '1-1080までの値を入力してください', 'callback', 'checkrange'); 

if ($form->validate()) {
 $form->freeze();
}

$form->display();

何かの参考になれば。

◎質問者からの返答

ご回答ありがとうございます。

お教えいただいたことについていろいろトライしてみますが、なかなかできません><

簡単にできそうで難しいですね。


3 ● Banias
●0ポイント

クラスを作れば?ということですか?

仰っていることが分からないのですが、addRuleはメソッドですから、当然、クラス(というよりオブジェクト)は用意されているものと考えているのですが。

◎質問者からの返答

お教えの通り記述しても動かないのでHTML_QuickFormの中をNumericRangeで調べてみましたらお教えいただいたルールはありませんでした。

で、調べてみると以下のようなBBSを見つけました。

http://old.nabble.com/-PHP-users-27728--PEAR:HTML_QuickForm_Rule...

そこで作れば?ということかなと思いました。


4 ● regnif
●44ポイント

tdoi さんのコードにちょっと修正が必要です。

checkrange関数の引数を$value→$vに変更するだけです。

ただ、この簡単なチェックだと、「01080」のように入力された場合も、OKになってしまいますので、validateロジックは少し詰めないとダメですね。

function checkrange($v)
{
 return ((1 <= $v) && ($v <= 1080));
}

$form = new HTML_QuickForm('frmTest', 'get');
$form->addElement('header', 'MyHeader', 'QuickFormのテスト');
$form->addElement('text', 'text1', 'TEXT');
$form->addElement('submit', 'btnSubmit', '送信');

$form->addRule('text1', 'required', 'required');
$form->addRule('text1', '1-1080までの値を入力してください', 'callback', 'checkrange'); 

if ($form->validate()) {
 $form->freeze();
}

$form->display();
◎質問者からの返答

ご回答ありがとうございます。

試したのですが動きませんでした。

ちょっとじっくり試す時間がとれませんでしたが、質問が終了するのでとりあえずお礼です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ