포럼: Open Discussion (Thread #21719)

ファイル名と行目を含めてエラーメッセージ出力について (2009-02-17 22:05 by Anonymous #41942)

ファイル取込みバッチ処理中validationチェック不正場合、ファイル名と行目を含めでエラーメッセージで提示したい。どうすればいいですか。
(errors.required=ファイル名:{0}の{1}行目{2}は入力必須項目です.)

Reply to #41942×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: ファイル名と行目を含めてエラーメッセージ出力について (2009-02-18 10:17 by luvwave #41954)

お疲れ様です。

バッチの入力チェック機能はコレクタから取得されたオブジェクトに対してチェックを行う機能です。
そのため、オブジェクトの中にファイルに関連する情報はありません。
また、オブジェクトが持っている情報(フィールド)はチェック対象になるため、メッセージで他のフィールドのデータを出力する機能はありません。

それで、「ファイル名と行目を含めてエラーメッセージ出力」をする場合は以下の2つの拡張が必要と思います。

1.オブジェクトにファイル情報を設定する。
バッチFWで提供しているファイルコレクタは結果オブジェクトにファイル情報を設定する機能がありません。
そのため、コレクタを拡張し、FileDAOを利用してオブジェクト取得後にファイル名と行番号を設定する必要があります。
※ファイルの行番号を取得するためにはgetCurrentLineCount()を利用する必要がありますが、FileLineIteratorにはそのメソッドが存在しないため、Castして利用することになります。

2.独自の入力チェックを作成する。
基本入力チェック機能ではオブジェクトの情報をメッセージ二出力することは出来ません。(※うそかもしりません。誰か方法を知っている人は教えてください)
それでjp.terasoluna.fw.validation.springmodules.BaseMultiFieldValidatorを拡張し、独自の入力チェックを作成することで、実装したいメッセージを出力することが出来ると思います。
詳しい実装・設定方法は機能説明書の「BD-02 対象データ取得機能」参照してください。(出来れば最新版のドキュメントを参照してください。)

以上です。
Reply to #41942

Reply to #41954×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login