2

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

我尝试了不同的方法来获取LongRangeFieldValidorusing 注释。

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

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

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

  4. 最后我不得不将我的long字段转换为 aString并且不得不使用RegexFieldValidator.

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

4

1 回答 1

1

似乎他们忘记将此注释添加到核心包中。可能只是一个错误,但有解决方法。使用自定义验证器注释

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

已注册的验证器下,您可以找到验证器的名称long

于 2014-04-22T18:05:57.867 回答