2007年10月24日水曜日

存在チェックValidator(Teeda)

スズキです。

最後に変なValidator作りました。

これは、会員登録などで、Emailアドレスなど入力するときに、
データベースなどに既に存在している場合は、
バリデーションに引っかかるようにするためのものです。

▼ExistValidator
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/main/java/jp/co/iret/suz/s2/validator/teeda/ExistValidator.java
▼ExistValidatorImpl
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/main/java/jp/co/iret/suz/s2/validator/teeda/impl/ExistValidatorImpl.java

使い方はこんな感じです。
@Required
@Email
@ExistValidator(componentName="registrationLogic", methodName="existsUserMail")
  public void setUserMail(String userMail) {
  this.userMail = userMail;
}

アノテーションで、存在チェックをするためのコンポーネント名と
メソッド名を指定できるようにしています。

ちなみに、存在チェックメソッドはこんな感じです。
public boolean existsUserMail(String userMail) {
  Map map = this.registrationDao.getUserCount(userMail);
  long count = (Long)map.get("count");
  return (count == 0) ? false : true;
}
※引数は一つ、戻り値はbooleanである必要があります

BeanDescまわりを調べるために、
s2flex2のソースを読み込んでしまった...

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

0 コメント: