[Seasar-user:3994] Re: [S2JSF] m:immediate の動作について
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2006年 6月 29日 (木) 13:32:14 JST
ひがです。
> >
> > [Seasar-user:2822]とは少し内容が違うので質問しました。
> >
> > m:immediate="true"とした場合バリデーションが掛からなくなるのですが、
> > このm:immediate="true"としたボタンを押したときに、
> > フォームで入力したデータをDtoに入れることはできないのでしょうか?
> >
> JSFの仕様としては、残念ながらできません。
> >
> > 何かよい解決方法などありますでしょうか?
> > 設計の仕方が悪いのでしょうか?
> > 少し知恵を貸してください。
>
> 現状では、まだできないのですが、Teedaでは特定のボタンを押したときだけ
> バリデーションがかかる機能を盛り込む予定です。
Teedaの次のバージョンに条件付のバリデーション機能を追加します。
S2JSFでもその拡張バリデータを使うことで条件付のバリデーションが
利用できます。
つまり、次のS2JSF1.1のバージョンから利用できます。
<span m:inject="s:validator" m:binding="..."
m:for="buttonA/>
<input type="submit" id="buttonA" ...
<input type="submit" id="buttonB" ...
のように書くとbuttonAを押したときだけ、バリデーションがかかるように
なります。forを省略すると、すべての場合でバリデーションがかかります。
forはカンマ区切りで複数のボタンを指定できます。
Yasuo Higa
The Seasar Foundation
Seasar-user メーリングリストの案内