我有一个类,我在使用javabean验证,我想使用其中一个类变量作为验证程序中的参数,所以如果我有类似的东西。
public class person{
@NotNull
@NotEmpty
public int age;
@CustomValidator(Parameter = age)
public dateTime birthdate
}
那么定制验证器可以使用年龄来验证生日,有没有办法做到这一点,或者JavaBeans不允许这样做?我已经试过只输入参数,它似乎不喜欢这样。请帮忙。
1条答案
按热度按时间flvlnr441#
我不认为有一种方法可以将其作为注解本身的参数来实现,因为这要求这些值是静态的—您希望它基于年龄的值是动态的。
您可以将它放在类级别,而不是将自定义约束放在birthdate字段本身。通过这样做,您可以访问person对象中的所有字段,并且可以根据提供的年龄验证出生日期。我测试了一个字符串类型的生日,所以你将不得不修改,以满足您的日期需要。
出生日期约束.java-
birthdatevalidator.java-
个人.java-