我有一个验证问题。
我有两个独立的对象,它们是日期:
- LocalDateTime startDate可以
- LocalDateTime endDate
在表单中,我做了一些验证,例如文本长度等,一切正常
但是我想对两个日期进行验证,即日期#2不能早于日期#1。
我决定使用@AssertTrue。
但是我想在提交表单后在视图中显示日期错误的消息,例如"输入的日期是错误的">
如何做类似于例如与Name字段相关的验证。当我们不输入时,发送表单后会出现我们需要更正的消息(下图)输入图片描述
CreateEventForm
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);
}
我试了很多方法,但都无济于事
<代码>代码>
当您需要在验证器中组合两个字段时,您需要编写自定义的类级别约束。
这个答案可以帮助:https://stackoverflow.com/a/2783859/4845935