LongRangeFieldValidator

LongRangeFieldValidator

我正在使用Struts2中的注释进行验证,很惊讶地发现注释没有LongRangeFieldValidator,其中使用xml完成​​的验证确实具有LongRangeFieldValidator

我尝试了使用批注获取LongRangeFieldValidor的不同方法。


LongRangeFieldValidator。它显示了一个错误,因为它实际上并不存在,并且com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator无法转换为Annotation类型。这很明显,所以我切换到下一个。
我使用了IntRangeFieldValidator。我可以使用它,因为它无法进行类型转换。我认为这应该有效,因为文档说它适用于数字类型。
DoubleRangeFieldValidator这个也验证(并且应该验证)非整数值,因此我不得不删除它。
最后,我不得不将我的long字段转换为String,并且不得不使用RegexFieldValidator


我的问题是,为什么包LongRangeFieldValidator中没有com.opensymphony.xwork2.validator.annotations,获得它的最佳实践是什么?

最佳答案

看来他们忘记了将此注释添加到核心软件包中。可能只是一个错误,但是有解决方法。使用custom validator批注

@CustomValidator(type ="long", fieldName = "myField")


registered validators下,您可以找到验证器的名称long

07-24 09:32