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

mamo k mamomamok @ gmail.com
2007年 6月 5日 (火) 16:05:21 JST


大原さん、須山さん、ありがとうございます。

まずは須山さんからいただいたコードにて、単純なものを作成してみたのですが、
$form->submitValues['good']が取得できずに、
Warning: array_sum() [function.array-sum ]: The argument should be an
array in・・・
が出て機能しません・・なぜでしょうか。。
####################################
require_once 'HTML/QuickForm.php';
$form=new HTML_QuickForm();

//選択肢テキスト配列
$cont_title=array("1番目","2番目","3番目","4番目","5番目","6番目","7番目","8番目");

//チェックボックス生成
for($i=0;$i<count($cont_title);$i++){
    $good[]=& $form->createElement("checkbox",$i,NULL,$cont_title[$i],NULL);
}
//グループ化
$form->addGroup($good,"good","良い","<br>\n");

//送信ボタンの生成
$form->addElement("submit","submit","確認");

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

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

>大原さん
form ruleのリンク先ありがとうございます。
試しては見たのですが、上記と同様、['good']が取得できず
実現出来ていません。
また、前提であるadvcheckboxで質問させていただきましたが、
基本のcheckboxでまず出来ないとダメだろうと思い、変更させていただきました。
混乱させてしまい申し訳ありません。


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