[Seasar-user:7181] Re: [Teeda] ラジオボタン未選択時のValidatorについて

高橋 ひろみ [E-MAIL ADDRESS DELETED]
2007年 4月 11日 (水) 15:14:28 JST


高橋です。

櫻井さんの場合は、
> >    private int aaa = 0;                // オリジナルは1
とされているとのことですが、当方では「value」に「英数字」を設定するため、
「String」型としています。

valueを「String」型としていることが、ラジオボタンの@Requiredが効かない要因
の1つなのでしょうか。
@Requiredが有効にならない要因は、他に何か考えられますでしょうか?


現象としては、以下の通りです。

ラジオボタンの「chumonmoto」は、@Requiredが効かない。
インプットテキストの「hanbaimoto」は、@Requiredが効いて、エラーが発生する。

↓念のため、再度現在問題としているプログラムを添付します。
[Dto]
private String label;
private String value;
:setter,getterは省略

[html]
:
<form id="selectForm">
  <span id="allMessages"/>
  <br />
  <label>タイトル</label>
  <input type="button" id="goKekkaConfirm" value="入力完了" />
  <br />
  <!-- ラジオボタン -->
  <span id="chumonmoto">
  <input type="radio" name="chumonmoto" value="a1" />aaa
    <input type="radio" name="chumonmoto" value="b1" />bbb
    <input type="radio" name="chumonmoto" value="c1" />ccc
  </span>
  <!-- テキストエリア -->
  <input type="text" id="hanbaimoto" value="" size="80" maxlength="80" />

</form>
:

[Pageクラス]
:
    private String chumonmoto;
    private String hanbaimoto;

    public String prerender() {
:省略(chumonmototemsを設定する処理。)
    }
:
    @Required
    public void setChumonmoto(String chumonmoto) {
        this.chumonmoto =chumonmoto;
    }
:
    @Required
    public void setHanbaimoto(String hanbaimoto) {
        this.hanbaimoto=hanbaimoto;
    }
:

以上です
> -----Original Message-----
> From: Shinpei Ohtani [mailto:[E-MAIL ADDRESS DELETED]]
> Sent: Wednesday, April 11, 2007 2:38 PM
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:7180] Re: [Teeda] ラジオボタン未選択時の
> Validator
> について
> 
> 
> 大谷です。
> 
> aaaをintではなく、Integerにして試してみてもらえないでしょうか。
> 宜しくお願いします。
> 
> 07/04/11 に 櫻井正樹<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > 横から失礼します。
> > 櫻井といいます。お世話になっております。
> >
> > 高橋さんと同様にradioボタンでは、未選択の場合のvalidationによる
> > チェックがうまくいかないのでお尋ねしたいと思っていました。
> >
> > teeda-extension-exampleのSelectOneRadioPage.javaの
> > 始めの部分で
> > public class SelectOneRadioPage {
> >    @Required                           // 追加
> >    @RegularExpression(pattern = "3")   // 追加
> >    private int aaa = 0;                // オリジナルは1
> > にして、
> > SelectOneRadio.htmlに
> > <span id="allMessages"></span>
> > を追加しました。最初に以下の画面が出ます。
> > +------------------------------------+
> > + ○AAAA                             +
> > + ○BBBB                             +
> > + ○CCCC                             +
> > + select value : 0  [submit]         +
> > +------------------------------------+
> > ラジオボタンを選択しないでsubmitすると何も起こりません。
> > ラジオボタンAAAA,BBBBをチェックしてsubmitすると
> > 「値(aaa)は正規表現(3)にマッチしません」エラーメッセージが出ます。
> >
> > ラジオボタンはintの初期値を持っているので、
> > @Requiredは効かないと思い、
> > @RegularExpression
> > で代用しようとしたのですが、だめでした。
> >
> > ラジオボタンで、未選択の場合のvalidationによる
> > チェックはできないでしょうか。
> >
> > submitで呼ばれるメソッドの中でチェックする方法だと
> > 他の入力項目のvalidationのエラーと一緒にエラーが表示されません。
> > 一緒にエラーを出したいです。
> >
> > よろしくお願いします。
> >
> 



Seasar-user メーリングリストの案内