为什么Struts 2注释没有LongRangeFieldValidator

时间:2014-04-22 09:40:33

标签: java struts2 annotations struts-validation xwork

我正在使用Struts2中的注释进行验证,我很惊讶地看到注释没有LongRangeFieldValidator,因为使用xml完成​​的验证确实有LongRangeFieldValidator

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

  1. LongRangeFieldValidator。它显示错误,因为它实际上并不存在,com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator无法转换为Annotation类型。这很明显,所以我转到了下一步。

  2. 我使用了IntRangeFieldValidator。我可以使用它,因为它无法进行类型转换。我认为这应该有效,因为文档说它适用于数字类型。

  3. DoubleRangeFieldValidator这个也验证了(并且它应该)非整数值,所以我不得不放弃它。

  4. 最后,我必须将long字段转换为String,并且必须使用RegexFieldValidator

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

1 个答案:

答案 0 :(得分:1)

似乎他们忘了将这个注释添加到核心包中。只是一个错误可能是左右,但有解决方法。使用custom validator注释

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

registered validators下,您可以找到验证程序long的名称。