[Java]SAStrutsの@IntegerTypeは全角を許容するらしい

2013/09/17 17:38

SAStrutsで数字の変数に@IntegerTypeをつけていたところ
全角が通ってしまうというバグ報告が上がって来ました。
調べた所
” IntegerTypeアノテーション. Integer型に変換できることを検証するためのアノテーションです。”
とのこと。
そして new Integer(String str);
は全角数字文字列を許容するとのこと。
内部でInteger.parseInt()使っているのでInteger.parseInt()もアウト。
参考サイト
http://unyouman.blog100.fc2.com/blog-entry-5.html
http://programamemo2.blogspot.jp/2010/04/javaintegerparseint.html

というわけで@Maskを入れて対応

@IntegerType(arg0 = @Arg(key="コード", resource=false))
@Mask(mask = "^[0-9]+$",arg0 = @Arg(key="コード", resource=false))
public String code;
コメントを投稿

次の HTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">

コメントはまだありません。