DefaultWorkflowInterceptorのvalidation

DefaultWorkflowInterceptorは次の事を行う。

  1. Validatable が実装されているアクションに対して validate() の呼び出し
  2. ValidationAware が実装されているアクションに対して、 hasErrors() によりエラーをチェックしエラーならActionを実行せずに戻りとして "input"を返す

しかし、 Validatable に関しては @SkipValidation のAnnotationが効かず validate() が必ず実行されてしまう。

基本は propeties ファイルによるvalidationだが、一部プログラムコードによるvalidationを追加したいような場合に プログラムコード側の validate() は @SkipValidation に関わらず必ず実行されてしまう事になり好ましくない。

Validatable と validate() は使用せず、@SkipValidation Annotation が考慮されるプログラム側のチェックメソッド呼び出しのInterceptorを専用に書いたほうがよさそうだ。