- - PR -
Strutsのバリデート機能で相関チェック
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-01-26 12:21
お世話になります。
Strutsでは、errorStyleなどでバリデートエラーになった入力項目にcssスタイルを適用させる事ができますが、 相関チェックの場合など、1つのエラーメッセージで、複数の入力項目にスタイルを適用する事はできないのでしょうか? 以下の例で言うと、aが空の時、"aとbを入力してください。"のメッセージとともに、 a, b両方に"background-color: pink"のスタイルを適用したいのです。
知っている方、ご教示お願いしますm(__)m | ||||||||||||
|
投稿日時: 2009-01-26 13:10
errorStyleってありましたっけ??
validateメソッドでエラーに画面にフォワードする際 フラグを渡して 後は、JSP側でそのフラグを参照しstyleを変更すれば実現できます。 エラーの時に採用されるスタイルみたいなのは無かったと思います。 | ||||||||||||
|
投稿日時: 2009-01-26 13:18
方法は沢山あると思います。
その1 エラーがaにあろうがbにあろうが両方だろうが <html:text property="a" errorStyle="background-color: pink" /> しか使わないようにする その2 エラー内容によってJSP内で分岐させる その3 専用のgetメソッドを用意する | ||||||||||||
|
投稿日時: 2009-01-26 14:47
ジンさん、あすかさん
こんにちは。 JSPにフラグを渡せば実現可能ですよね。 ただ、JSP(View)での分岐を少なくしたい為、Strutsの機能でシンプルに実装したいと思っています。 バリデートエラー時にスタイルを変えたいケースは多くあるので、その為のerrorStyleです。 ただ、単体チェックには対応していても、相関チェックには対応していないのですかね? | ||||||||||||
|
投稿日時: 2009-01-26 17:57
Daiさんの書かれているようなコードで出来ましたよ。
これで両方のテキストボックスがピンクになりました。 当方で確認した環境は struts1.2.9 tomcat5.5.26 です。 | ||||||||||||
|
投稿日時: 2009-01-26 19:45
レスありがとうございます。
こちらでもそのやり方でできました! ただ、入力項目が多い為、個別のエラーメッセージ出力指定は考えておらず、 <html:errors/>とのみ記述しての一括出力指定で済ませたいです。
だと、裏でStrutsは空のメッセージを持っている為、
の時、 <li>aとbを入力してください。</li> <li></li> と無駄な<li>が出てしまいます。 こちらではActionErrorsの拡張も視野に入れ始めました(T-T) それでできるかはまだ不明ですが。。。 またはhtml:errorsタグを拡張して、空メッセージは出力しない様にするか、 <html:errors/> と書く代わりにエラー出力用jspをincludeして、そっちで <html:messages id="error">でイテレートして、空メッセージ判定をしながら 出力する方法もありますね。 [ メッセージ編集済み 編集者: Dai 編集日時 2009-01-26 20:00 ] | ||||||||||||
|
投稿日時: 2009-01-26 22:09
header,footerをfarceにしてやれば?
| ||||||||||||
|
投稿日時: 2009-01-27 13:01
汀さん、こんにちは。
prefix, suffixをfalseにですか? それだとメッセージ内に<br>などを入れなくてはならないので、美しくないですね。 html:errorsタグを拡張する方向に決めました。 ありがとうございました。 |