Package nablarch.common.web.validator
Class BeanValidationStrategy
java.lang.Object
nablarch.common.web.validator.BeanValidationStrategy
- All Implemented Interfaces:
ValidationStrategy
BeanValidationを使用する場合のリクエスト内容のバリデーション、オブジェクト(Bean)生成ロジック.
本実装ではバリデーションエラーが発生した場合に、
リクエストパラメータから値をコピーしたオブジェクト(Bean)が、
リクエストスコープに格納する機能を持つ。
これは、バリデーションエラーが発生した時でも、JSP等でリクエストパラメータの値を
参照できるようにするためである。
本機能を有効化するにはsetCopyBeanToRequestScopeOnError(boolean)
に真を設定すること。
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
setCopyBeanToRequestScopeOnError
(boolean copyBeanToRequestScopeOnError) バリデーションエラー時に、Beanをリクエストスコープにコピーするかどうかを 設定する(デフォルトは「コピーしない」)。void
setFormFactory
(BeanValidationFormFactory formFactory) sortMessages
(List<Message> messages, ServletExecutionContext context, InjectForm injectForm) メッセージをソートする。validate
(HttpRequest request, InjectForm annotation, boolean notUse, ServletExecutionContext context) リクエスト内容をバリデーションし、エラーがなければ、InjectForm
の
form属性で指定された型のオブジェクトを生成して返す.
-
Constructor Details
-
BeanValidationStrategy
BeanValidationStrategy
を生成する。
-
-
Method Details
-
validate
public Serializable validate(HttpRequest request, InjectForm annotation, boolean notUse, ServletExecutionContext context) Description copied from interface:ValidationStrategy
リクエスト内容をバリデーションし、エラーがなければ、InjectForm
の
form属性で指定された型のオブジェクトを生成して返す.- Specified by:
validate
in interfaceValidationStrategy
- Parameters:
request
- リクエストannotation
- InjectFormアノテーションnotUse
- バリデーションメソッドの指定がある場合true
context
- 実行コンテキスト- Returns:
- バリデーション済みのオブジェクト
-
sortMessages
@Published(tag="architect") protected static List<Message> sortMessages(List<Message> messages, ServletExecutionContext context, InjectForm injectForm) メッセージをソートする。ソートされる順序は、
ServletRequest.getParameterNames()
の順となる。ServletRequest.getParameterNames()
に存在しない項目は、メッセージリストの末尾に移動する。- Parameters:
messages
- ソート対象のメッセージリストcontext
- Servlet実行コンテキストinjectForm
-InjectForm
アノテーション- Returns:
- ソートしたメッセージリスト
-
setCopyBeanToRequestScopeOnError
public void setCopyBeanToRequestScopeOnError(boolean copyBeanToRequestScopeOnError) バリデーションエラー時に、Beanをリクエストスコープにコピーするかどうかを 設定する(デフォルトは「コピーしない」)。- Parameters:
copyBeanToRequestScopeOnError
- コピーする場合は真を指定
-
setFormFactory
-