2007年10月24日水曜日

郵便番号Valdator(Teeda)

スズキです。

電話番号と同じのりで、郵便番号Validatorも作成しました。
▼ZipCodeValidator
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/main/java/jp/co/iret/suz/s2/validator/teeda/ZipCodeValidator.java
▼ZipCodeValidatorImpl
http://suz-lab.googlecode.com/svn/trunk/suz-s2-validator/src/main/java/jp/co/iret/suz/s2/validator/teeda/impl/ZipCodeValidatorImpl.java

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

@Required
@ZipCodeValidator(zipFormat=ZipCodeValidator.ZipFormat.ZIP3)
public void setZip3(String zip3) {
  this.zip3 = zip3;
}

@Required
@ZipCodeValidator(zipFormat=ZipCodeValidator.ZipFormat.ZIP4)
public void setZip4(String zip4) {
  this.zip4 = zip4
}

今回は列挙型を使っています。
列挙型(ZIP3, ZIP4)に該当する正規表現を持たせています。
public static enum ZipFormat {
  ZIP3, ZIP4;
  public String getRegExp() {
    switch(this) {
      case ZIP3: return "\\d{3}";
      case ZIP4: return "\\d{4}";
      default: throw new RuntimeException();
    }
  }
}

アノテーションや列挙型がだんだん自分になじんできたぞ。
(後一本、大物Validatorが残ってる...)

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

0 コメント: