[PHP-users 32279] Re: PEAR:HTML_QuickForm、advcheckboxのチェック個数制限

mamo k mamomamok @ gmail.com
2007年 6月 5日 (火) 17:13:20 JST


須山さん、ありがとうございます!

$form->_submitValuesにすることと、「errors」の方も"_"が必要でした。
下記にて動作しました!

$fig = array_sum($form->_submitValues['good']);
if($fig < 3 || $fig > 5){
      $form->_errors['good'] = '許可された選択数は3から5の範囲です。';
}

また、addFormRuleでも動作確認できました!

function cmpPass($fields){
    if (array_sum($fields['good'])<3 || array_sum($fields['good'])>5) {
        return array('good' => '許可された選択数は3から5の範囲です。');
    }
    return true;
}
$form->addFormRule('cmpPass');

さらにadvcheckboxでも同様に問題ないようですね。
これでサーバー側でのvalidateは解決しました。
結局_submitValuesの使い方がわかっていなかったようです。
大原さん、須山さん、誠にありがとうございました!

後は、advcheckboxでのjavascript制御ですね。name属性でなくid属性を持たせて
getElementByIDでアクセス⇒合計数判別すれば出来るのかなと考えています。


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