我有一个有几个属性的类。一个是月,另一个是年。不必填写这些字段。两个都留空是可以接受的。但如果只填写了其中一个,则应验证这两个日期(根据下面的@min和@max),使其成为有效的月/年日期。我如何实现这个条件?下面的代码强制填写这两个。不接受第一个条件(都为空)。
@Entity
public class Person implements Serializable{
private static final long serialVersionUID = 1L;
//Other attributes here
@Min(value=1, message="Invalid month")
@Max(value=12, message="Invalid month")
private int month;
@Min(value=1900, message="Invalid year")
@Max(value=2100, message="Invalid year")
private int year;
1条答案
按热度按时间zu0ti5jz1#
JSR-303
解决这个问题。您可以创建自定义验证程序注解@ValidMonthAndYear
在Person.java
.有效月份和年份.java
monthandyearvalidator.java版本