入力値の検証方法について

入力値の検証方法

  • ActionFormを継承しvalidateメソッドを実装する
  • commons validatorを使用する

今まで、validator使ってやったことなかったのでその辺の備忘録

  1. struts-config.xmlにvalidatorをプラグインとして設定
  2. ValidatorFormを継承したFormを作成
  3. validation.xmlに検証方法を記述(フォーム名、フィールド名、検証ルール、エラーメッセージキーetc)
  4. validator-rules.xmlにない、検証ルールを作成したい場合は検証用クラスを作成し、validator-rules.xmlに記述

これが、strutsでvalidatorを使用するときの手順。
そして、s2stutsの場合はやっぱ、POJOフォームでアノテーション使いたい。
文字数チェックとか、必須入力のアノテーションは存在するからそのまま使えばよい。
カスタムvalidatorを作成する場合は

  1. 上記の1、4を行う。
  2. アノテーションインターフェースを作成
  3. レジスタクラスの作成
  4. レジスタクラスをコンポーネントとして登録する設定ファイルを記述(validator.dicon)

これでおーけー。レジスタクラスの作成とコンポーネント登録はアノテーションで引数(変数)が必要ない場合は不要。

詳細はこちら↓
http://s2struts.seasar.org/ja/validation.html

あと、1アクションでメソッド毎にvalidatorを変えたい場合はこちらを参考に↓
S2StrutsのPOJO Actionにおけるvalidation処理の切り替え - n-ichimuraの日記