我可以在Struts2 Validator Annotation中使用Calendar吗?

时间:2010-10-19 18:47:45

标签: java validation struts2 expression date-range

是否可以在Struts2 IntRangeFieldValidator中使用java.util.Calendar?

以下代码不会产生任何OGNL错误,但也不起作用。我正在尝试为年份范围创建验证规则,min = 1970和max =当前日历年。

@RequiredFieldValidator(message="Year cannot be blank")
@IntRangeFieldValidator(message="Year must be greater than 1970", min="1970", max="java.util.Calendar.getInstance().get(java.util.Calendar.YEAR)", fieldName="year")
    public Integer getYear() {
        return year;
    }

如果没有编写自定义验证器,有没有更好的方法呢? 任何/所有回复表示赞赏。提前谢谢!

3 个答案:

答案 0 :(得分:0)

我认为应该是:

@java.util.Calendar@getInstance().get(@java.util.Calendar@YEAR)

待确认。

答案 1 :(得分:0)

答案 2 :(得分:0)

尝试以这种方式使用@FieldExpressionValidator:

@FieldExpressionValidator(fieldName = "year", message="Year must be greater than 1970", 
expression = "year < @java.util.Calendar@getInstance().get(@java.util.Calendar@YEAR)") })