[Seasar-user:13084] Re: [S2Strtus]validationについて
梅林 剛
[E-MAIL ADDRESS DELETED]
2008年 2月 27日 (水) 18:51:08 JST
お世話になっております。
梅林と申します。
中村様
ご回答ありがとうございます。
申し訳ありません。
質問の内容が大雑把過ぎました。
以下のようなHTMLのリクエストに対してvalidwhenのvalidationを設定したいの
ですが、
どのように定数アノテーションを記述すれば宜しいでしょうか?
--HTML--
<input type="checkbox" name="foo[0].check" value="0">
<input type="text" name="foo[0].text" value="">
・
・
<input type="checkbox" name="foo[n].check" value="n">
<input type="text" name="foo[n].text" value="">
--HTML--
validwhenは独自にConfigRegsterを作成し、正しく動作する状態にあります。
validewhenで設定したい条件は「対になるcheckにチェックがある場合、textは
必須」です。
タグの数は固定ではありません。
現在のActionFormは以下のようになっています。
--ActionForm--
private List<Foo> foo = new ArrayList<Foo>();
public Foo getFoo(int index) {
if (foo.size() <= index) {
for (int i=foo.size(); i <= index; i++) {
foo.add(i, new TestIndex());
}
}
return foo.get(index);
}
--ActionForm--
--Foo.java--
private String check;
private String text;
public String getCheck() {
return check;
}
public void setCheck(String check) {
this.check = check;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
--Foo.java--
ちなみにご回答頂いた内容を基に以下のようなコードで実行してみましたが、
意図した結果は得られませんでした。
チェックがあるcheckのvalue値しかリクエストされないため、
textとの対応が取れません。
--HTML--
<input type="checkbox" name="check" value="0">
<input type="text" name="text" value="">
・
・
<input type="checkbox" name="check" value="n">
<input type="text" name="text" value="">
--HTML--
--ActionForm--
private String[] check;
private String[] text;
public static final String text_VALIDATOR
= "validwhen, test='((check[] == null) or ((check[] != null) and (text[]
!= null)))'";
public String[] getCheck() {
return check;
}
public void setCheck(String[] check) {
this.check = check;
}
public String[] getText() {
return text;
}
public void setText(String[] text) {
this.text = text;
}
--ActionForm--
--
梅林 剛 <[E-MAIL ADDRESS DELETED]>
> From: Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>
> To: [E-MAIL ADDRESS DELETED]
> Date: Tue, 26 Feb 2008 14:03:10 +0900
> wrote:
> 中村(taedium)です。
>
> > ActionFormで定数アノテーションを用いたvalidationの設定を行っています。
> > インデックス付きプロパティに対してvalidationの設定を行いたいのですが、
> > どのように定数アノテーションを記述すればよいのでしょうか?
>
> 通常と変わらないと思います。
>
> public static final String array_VALIDATOR = "required";
> public static final String array_VALIDATOR_ARGS = "keys = array, resource = false";
>
> private String[] array = new String[3];
>
> public String[] getArray() {
> return array;
> }
>
> public void setArray(String[] array) {
> this.array = array;
> }
>
>
> 答えになっているでしょうか。
> --
> Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内