我有一个带有Joda DateTime字段的用户模型类,并遵循以下验证规则:
@NotEmpty
@DateTimeFormat(pattern="dd/MM/yyyy")
@Past
private DateTime dob;
我提交注册表后会收到此错误:
No validator could be found for type: org.joda.time.DateTime.
如何在此字段中添加验证器?
答案 0 :(得分:0)
使用@NotNull
代替@NotEmpty
来解决问题。
答案 1 :(得分:0)
您必须编写自己的验证器才能与Joda' DateTime
一起使用。
@Past
仅适用于(非Joda)Date
和Calendar
。我不知道为Joda类型提供Java bean验证器的库。
仅供参考,@Past
的Javadoc支持它支持的类型:
/**
* The annotated element must be a date in the past.
* Now is defined as the current time according to the virtual machine.
* <p/>
* The calendar used if the compared type is of type {@code Calendar}
* is the calendar based on the current timezone and the current locale.
* <p/>
* Supported types are:
* <ul>
* <li>{@code java.util.Date}</li>
* <li>{@code java.util.Calendar}</li>
* </ul>
* <p/>
* {@code null} elements are considered valid.
*
* @author Emmanuel Bernard
*/