我有一个问题的验证。
我有两个独立的对象,它们是日期:
1.本地日期时间开始日期
1.本地日期时间结束日期
在表单中,我做了一些验证,例如文本长度等,一切都很好。
但是我想对两个日期进行相互验证,即日期#2不能早于日期#1。
我决定使用@AssertTrue。
但我希望在提交日期错误的表单后视图中显示消息,例如“输入的日期错误”
如何执行类似于例如与名称字段相关的验证。当我们不输入时,发送表单后会出现一条消息,我们需要更正(下图)enter image description here
创建事件窗体
public class CreateEventForm {
private Long id;
@NotBlank(message = "Field title is required.")
private String name;
private LocalDateTime startDate;
private LocalDateTime endDate;
@AssertTrue(message = "Fields startindDateTime should be before than endingDateTime")
private boolean isvalid() {
return startingDateTime.isBefore(endingDateTime);
}
我试了很多方法,但都没有用
1条答案
按热度按时间uxhixvfz1#
由于需要在验证器中合并两个字段,因此需要编写自定义class-level constraint。
这个答案可以帮助:https://stackoverflow.com/a/2783859/4845935