如何在 Spring MVC 中使用自定义日期属性编辑器验证日期
我已经在我的 java 类中创建了日期
,这是我在控制器中使用的代码,
@InitBinder
public void initBinder(final WebDataBinder binder) {
binder.registerCustomEditor(Date.class, null, new CustomDateEditor(new SimpleDateFormat("dd-MM-yyyy"), true));
}
我正在使用 JSR 注释和 hibernate 来验证其他字段。
有什么方法可以使用注释来验证日期必须仅采用 dd-mm-yyyy 格式
I have made the Date in in my java Class
and this is the code i have used in controller
@InitBinder
public void initBinder(final WebDataBinder binder) {
binder.registerCustomEditor(Date.class, null, new CustomDateEditor(new SimpleDateFormat("dd-MM-yyyy"), true));
}
i am usinng JSR annotations and hibernate to validate other fields.
Is there any way i can use annotations to validate that date must in dd-mm-yyyy format only
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
CustomDateEditor 本身不是验证器,但在这种情况下,它确实隐式验证您的模式:它只会使用您指定的格式将字符串解析为日期。因此,如果解析不成功,您将得到一个空值。
Spring 验证发生在绑定之后,因此任何验证都将在 Date 对象上执行(因此在解析该字符串之后),而不是在初始字符串上执行。
The CustomDateEditor is not a validator itself, but in this case it does implicitly validate your pattern: it will just parse a string to a date using the format you specified. So you'll get a null value if the parsing does not succeed.
Spring validation occurs after binding, so any validation will be performed on the Date object (so after that string is parsed), not on the initial string.