我正在使用Struts2中的注释进行验证,我很惊讶地看到注释没有LongRangeFieldValidator
,因为使用xml完成的验证确实有LongRangeFieldValidator
我尝试了使用注释获取LongRangeFieldValidor
的不同方法。
LongRangeFieldValidator
。它显示错误,因为它实际上并不存在,com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator
无法转换为Annotation
类型。这很明显,所以我转到了下一步。
我使用了IntRangeFieldValidator
。我可以使用它,因为它无法进行类型转换。我认为这应该有效,因为文档说它适用于数字类型。
DoubleRangeFieldValidator
这个也验证了(并且它应该)非整数值,所以我不得不放弃它。
最后,我必须将long
字段转换为String
,并且必须使用RegexFieldValidator
。
我的问题是为什么com.opensymphony.xwork2.validator.annotations
包中没有LongRangeFieldValidator
,获得它的最佳做法是什么?
答案 0 :(得分:1)
似乎他们忘了将这个注释添加到核心包中。只是一个错误可能是左右,但有解决方法。使用custom validator注释
@CustomValidator(type ="long", fieldName = "myField")
在registered validators下,您可以找到验证程序long
的名称。