Validation

DefaultWorkflowInterceptorのvalidation

DefaultWorkflowInterceptorは次の事を行う。 Validatable が実装されているアクションに対して validate() の呼び出し ValidationAware が実装されているアクションに対して、 hasErrors() によりエラーをチェックしエラーならActionを実行せずに戻りとして…

バリデーションのエラーメッセージ

message resource中で範囲制限値を参照するには次のように記述する例えば salary フィールドの validation が 数値範囲の次のような場合 <field name="salary"> <field-validator type="required"> <message key="errors.required.salary"/> </field-validator> <field-validator type="double"> <param name="minInclusive">100</param> <param name="maxInclusive">5000…</param></field-validator></field>

expression型のvalidation

validation定義で expression 型はクライントバリデーションされない。 expressionにはOGNL式が書けるのでJavaScriptには変換できないし無理だろうなと、思ったとおりだった。 form-close-validate.ftl のコードを見ると、独自のJavaScriptチェックを追加す…

Struts2でのvalidation設定

Struts2での validation を行うには action クラスと同じ階層に action名-validation.xml をというファイルを用意して、Struts2のアクションのインターセプタで workflow と validation を入れると有効になり、エラーが発生した場合は "input" が resultとし…

formでjavascriptのvalidationを有効にするともの凄く遅い

これはエラーメッセージを外部リソース化していて struts.devMode が true の場合毎回メッセージリソースを読み直すからみたい。 開発中はメッセージも頻繁に調整するのでこれはこれでありがたい。devModeを false とすればメッセージリソースはキャッシュさ…