[Seasar-user:2354] action からのエラーメッセージの表示について教えてください。
O.K.U.
oku
2005年 7月 14日 (木) 00:46:05 JST
はじめまして、O.K.U.と申します。よろしくお願いします。
早速ですがエラーメッセージの表示について教えてください。
m:required="true" や、自作の validator を使った入力チェックでNGと
判定できた場合のエラーの表示のやり方は分かったのですが、
その後の action に入ってから、はじめて入力エラーが判定できた場合には、
どのようにしてエラーを表示すればよろしいのでしょうか?
以下のような form を例に説明すると、入力がなかった場合や、
loginNameValidator や passwordValidator の中でのチェックで
エラーが判定できた場合には、それぞれ対応する h:message の
ところにエラーメッセージを表示することができますが、
loginAction.login に入ってしまった後で、入力が間違いだったと
判定できた場合には、どのようにすれば入力画面にエラーを
表示することができるのでしょうか?
尚、実際には1画面に複数の form が存在するので、
h:messages を使って一箇所に全部のメッセージを表示するといった
方法は使いたくないです。やはり該当する入力の近くにエラーを
表示するのが親切だと思いますので。
actionプログラム上で idを指定して、狙った位置にエラーが表示
できればいいのだと思うのですが、html に書いた id は書き換えられてしまうので、
action プログラム中で書き換えられてしまった id をどうすれば取得できるのかも分かりません。
また仮に id が分かったとしても、どのようにメッセージを送って表示するのかも
分かりません。もっと別の方法があるのでしょうか?
以上、はじめての投稿で長々と書いてしまいましたが、ご教授のほど
よろしくお願いします。
<form>
ログイン名
<input id="ログイン名" type="text" m:value="#{loginInfoDto.loginName}"
m:required="true" >
<span m:inject="s:validator" m:binding="#{loginNameValidator}" />
</input>
<span m:inject="h:message" m:for="ログイン名" />
パスワード
<input id="パスワード" type="password" m:value="#{loginInfoDto.password}"
m:required="true">
<span m:inject="s:validator" m:binding="#{passwordValidator}" />
</input>
<span m:inject="h:message" m:for="パスワード" />
<input type="submit" m:action="#{loginAction.login}" value="ログイン" />
</form>
Seasar-user メーリングリストの案内