- PR -

StrutsのValidatorで複数の戻り先を指定できるか?

1
投稿者投稿内容
ゆいの
会議室デビュー日: 2004/06/01
投稿数: 2
投稿日時: 2004-08-12 12:26
初めて書き込みさせて頂きます。
いつもこちらの掲示板で勉強させて頂いております。

さて、早速ですが、
StrutsのValidator機能について教えてください。
Validator機能を使用する場合、
struts-config.xmlのactionタグ内のinput属性に
エラーがあった場合の戻り先を指定しますが、
この戻り先を、エラーがあったプロパティによって
切り替えられないでしょうか。

具体的には、たとえば
社員情報を新規登録する入力フォームで、
Validateする入力データのうち
必須項目(氏名など)が空欄だと(requiredエラーによって)
エラー画面に遷移して入力をやり直させ、
オプション項目(電話番号など)が空欄だと
登録実行画面に遷移してエラーメッセージを表示するが、処理は続行する
というようなことが可能でしょうか。

もし可能でないとしたら、
input属性値に、手動で遷移先を振り分けるActionを指定するか、
オプション項目の入力チェックについてはValidatorを使用せず、
Actionクラスで行うということになると思います。

同じような処理を作成された方がもしいらっしゃいましたら、
是非ともご教授お願い申し上げます。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-08-12 17:23
引用:

オプション項目の入力チェックについてはValidatorを使用せず、
Actionクラスで行うということになると思います。


Option項目ではValidatorを使わないというよりかは、こういった場合はValidatorでは、例えばOption項目として年齢があった場合、そのフィールドに入力された値が数値であることを保証するためのチェックに使います。
もちろんrequired指定がなければ、そのフィールドが未入力(空白)の場合、チェックされません。

詳しく書きますと、必須項目はrequired(& intなど)。Option項目は intなど。
必須項目が入力されていなかったり、入力されていても条件を満たしていない場合にinputで指定された処理がされてActionが実行されません。
Option項目は未入力の場合はチェックされませんが、入力されていた場合はチェックされ、条件を満たしていない場合にinputで指定された処理がされてActionが実行されません。
そしてActionが実行され、登録実行画面に遷移して再度催促するメッセージを出すなり、やっぱり別の画面にフォワードするなりすればよいと思います。
ゆいの
会議室デビュー日: 2004/06/01
投稿数: 2
投稿日時: 2004-08-12 20:17
aaさん、ご返信どうも有り難うございます。

繰り返しになってしまうのですが、
オプション項目の入力値に対して
1.登録処理を続行できないようなエラーのチェックをValidatorで行う
2.登録処理を続行できるエラーのチェックをActionクラスで行う
という順番でチェックを行うということですよね。

仰るとおりだと思います。
入力チェックを全部Validatorに引き受けて貰えないかという発想が強引過ぎました。
1

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