我正在研究最新的apache commons验证器。问题解释如下。
My Bean有2个属性fullName(String)&年龄(int)。验证“必需”,但年龄也需要检查“整数”。
bean.setFullName("Tester"); -----> Will Pass
bean.setAge("Too Old"); ---> "required Pass but "integer" Fail.
results = validator.validate();
注意:如果age属性为String,则可以在上面,但是not和setAge不会接受String值并在到达validator.validate()之前抛出异常。
在设置bean之前应该检查验证。在上面的情况下,我需要创建所有属性字符串,而不是在validation.xml中检查整数/条件。
当我的年龄属性为整数时,我如何处理此问题。有点困惑。处理带有日期,整数等的bean?
答案 0 :(得分:4)
My Bean有2个属性fullName(String)&年龄(int)。 验证“必需”,但需要检查“整数”以及。
如果您的域类已声明age
已成为int
,那么您有两个选择
我的推荐
commons-validator仅适用于字符串(如果您希望立即验证整个bean),并且不适合您的场景。我建议你转而支持标准JSR 303。它功能丰富,有两个非常好的实现: