2007年10月24日水曜日

EqualValidator(Teeda)作成

スズキです。

利用規約に同意しないと、先に画面に進めず、
「利用規約に同意してません」
などの警告を出す場面って結構あると思います。

このような機能をTeedaのValidatorで実現するために、
EqualValidatorなるものを作ってみました。
▼EqualValidator
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/main/java/jp/co/iret/suz/s2/validator/teeda/EqualValidator.java
▼EqualValidatorImpl
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/main/java/jp/co/iret/suz/s2/validator/teeda/impl/EqualValidatorImpl.java

使い方はこんな感じです。

@EqualValidator(values={"true"})
public void setAgreedFlag(boolean agreedFlag) {
  this.agreedFlag = agreedFlag;
}

valuesに指定した値と同じ値(複数可)でないと、
バリデーションに引っかかります。

ちなみに、配列で設定した文字列群のなかに、
対象の文字列が含まれるかどうかのチェックは、
Arrays.binarySearchを使うと便利です。
(今までfor使ってがりがりやってた自分が恥ずかしい...)
▼実装例
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/main/java/jp/co/iret/suz/s2/validator/teeda/impl/EqualValidatorImpl.java

久しぶりに、suz-s2-validatorのアップデートでした。
(コンポーネントにしとくと、後々らくなんだよねー)

--
blog: http://suz-lab.blogspot.com/

0 コメント: