HTML_QuickFormを使用してのラジオボタンの入力チェックについて - PHPプロ!Q&A掲示板

161

  • 0P

HTML_QuickFormを使用してのラジオボタンの入力チェックについて

質問日時 / 2006年9月6日 18:52    回答数 / 4件

Questioner:  kurofune  このエントリーをはてなブックマークに追加 

キーワード / HTML_QuickForm    ラジオボタン    入力チェック   

現在HTML_QuickFormを使用して、フォームを作成しておりますが、
いろいろ、つまづきながら、なんとか形になりましたが、
ラジオボタンの入力チェックでつまづいております。


最初何が原因でエラーが、出てるのか分からなかったのですが、
下記のようなエラーが、出てしまいます。

チェックをしないとエラーメッセージが表示されないのですが、
チェックをすると、下記のエラーが表示されてしまいます。。。
どうすればよいのでしょうか?

Notice: Array to string conversion in /home/public_html/PEAR/HTML/QuickForm/Rule/Required.php on line 39

$sex[] = $form->createElement("radio","sex",NULL,"男","1");
$sex[] = $form->createElement("radio","sex",NULL,"女","2");
$form->addGroup($sex,"sex","性別:");
$form->addRule ("sex","性別が選択されていません。","required",NULL,"client");

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01realforceこれはAddGroupRuleを使用します。 $form->addGrou
┃┗A01-1kurofunerealforce 様 有難う御座いました。 AddGrou
┗A02hogeraaddGroupRule でもclientは使用することができます。
 ┗A02-1kurofunehogera 様 有難う御座いました。 ラジオボタン

回答一覧

並び替え:

A01 満足
answererrealforce [9月8日 20:56]

これはAddGroupRuleを使用します。

$form->addGroupRule("sex", "性別が選択されていません。", "required");

それと client はたぶん使えないと思います。

たしかチェックボックスの場合、何個以上選択すること、みたいな制限を required で可能だったような気がします。最近使ってないので、忘れてしまいました。。。

この意見に回答する

ツリーへ TOPへ

A01-1
replyerkurofune [9月8日 21:22]

realforce 様 有難う御座いました。



AddGroupRuleを使用すると、エラーが出なくなりました、
やっぱり、clientでは出来ないのですね、ちょっと残念です。


それと、チェックボックスの場合も気になっていたのですが、
何個以上選択みたいな事も出来るのですね、


下記サイトは、ちょこちょこ見ていましたが、気づきませんでした。。。
チェックボックスは、こんな感じで出来るようですね。


$form->addGroupRule('xxx', 'Please check at least one box','required', null, 2); 



http://www.okushin.co.jp/information/HTML_QForm/10_addGroupRule/

この意見に回答する

ツリーへ TOPへ

A02
answererhogera [9月9日 00:45]

addGroupRule でもclientは使用することができます。

使用する場合は以下のようにします。

addGroupRule("sex", "性別を選択してください", "required", NULL, 1, "client");

以下の第6引数に指定してあげればよいわけですね。

@param    string     $group         Form group name
@param    mixed      $arg1          Array for multiple elements or error message string for one element
@param    string     $type          (optional)Rule type use getRegisteredRules() to get types
@param    string     $format        (optional)Required for extra rule data
@param    int        $howmany       (optional)How many valid elements should be in the group
@param    string     $validation    (optional)Where to perform validation: "server", "client"
@param    bool       $reset         Client-side: whether to reset the element's value to its original state if validation failed.

この意見に回答する

ツリーへ TOPへ

A02-1
replyerkurofune [9月9日 09:57]

hogera 様 有難う御座いました。


ラジオボタンでも引数に指定すれば、クライアントでも可能なのですね、


IEとFirefoxでも、動作するので、便利ですね


お二方とも、有難う御座いました。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
マジッククォートとmysql_real_escape_string
 このエントリーをはてなブックマークに追加 
A
magic_quotes_gpcでは、SQLインジェクション対処は十分できません。主な理由として、以下が上げられます。 ・magic_quotes_gpcは文字コードを考慮しないで処理するので、Shift_JISを使っている場合、SQLインジェ...

>>続きを読む

SQLインジェクション対策は時と場合で使う関数が変わります。その時にあったものを使いましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)