[Seasar-user:19607] [SAStruts] Requiredでない LongTypeのバリデーション

Masanobu Saitoh [E-MAIL ADDRESS DELETED]
2010年 4月 6日 (火) 13:31:21 JST


こんにちは。斎藤と申します。
SAStrutsを使用しています。ありがとうございます。

SAStrutsのアノテーションによるバリデーションですが、
やりたい事がうまく実現できません。
期待する検証結果にならない入力値があります。
あまり使い込んでいないので使い方が間違っているようでしたらご指摘ください。

【やりたい事】
・検索条件を指定するフォームで long型を期待する入力項目がある。
・入力項目が記入されなかったら検索条件にしない。(@Requiredでない)

【作ったフォームクラス】

public class SomeForm {
   @LongType
   public String someid = "";
}

【期待する検証結果にならない入力値】

記号や全角スペースは期待したバリデーションエラーになります。

半角スペースのみ(1個または複数)を入力値にしたときは
バリデーションエラーにしたいのですが、
ならずにすり抜けてアクションクラスに渡ってしまいます。

他のアノテーションも試しましたがやりたい事は実現できませんでした。

@LongRange(min= 1, max = 999999)
@Mask(mask = "^[0-9]+$")


【環境】
SAStruts : sa-struts-1.0.4-sp7.jar
(commons-validator-1.2.0.jar)
JDK: jdk1.6.0_13
Tomcat: 5.5.27

必須ではないlong型の項目のバリデーションで、
半角スペースのみの入力の検証はどうしたらできるでしょうか?
半角スペースはアクションクラスで個別に検証が必要なのでしょうか?

教えてください。



Seasar-user メーリングリストの案内