- PR -

strutsのvalidation.xmlで表示するエラー

1
投稿者投稿内容
sinh
ベテラン
会議室デビュー日: 2003/01/22
投稿数: 87
投稿日時: 2004-04-12 10:43
お世話になります。

Strutsでvalidation.xml、rules-validator.xmlを用いて入力チェックを
行う場合に、以下のようなときにどうすればいいかで悩んでいます。

例(検証内容):
 入力チェックプロパティ:ID、パスワード
  
入力チェック項目+表示エラー内容:
・IDが入力されてない場合は "IDを入力してください" と表示
・パスワードが入力されていない場合は "パスワードを入力してください" と表示
・IDまたはパスワードに(長さなどの)エラーがある場合は
    'IDまたはパスワードが不正です' と表示

この場合にJSPソース中に <html:errors />を指定していると、
上記(入力チェック項目+表示エラー内容)の1,2番目についてはいいのですが、
3番目の場合で、IDとパスワードがともにエラーの場合に
'IDまたはパスワードが不正です'
が2つ表示されてしまいます。
ActionForm#validate()を実装するか、FieldChecksのサブクラスを作成しないで
これを1つのみの表示にすることは可能でしょうか?

よろしくお願いします。

aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-04-12 19:07
パスワードの長さが違うとエラーってのは変だと思いますが、
それはさておき、パスワードが一致しなかった場合と同じように、
単にAction内で new Errors() して Error()
を放り込んで、return new ActionForward(getInput())
を返してやればいいと思います。
ちょっと手元に資料がないので適当に書いてます。
サンプルコードにありがちなものですので、探してみてください。

1

スキルアップ/キャリアアップ(JOB@IT)