我熟悉使用Spring的<form:errors>
标签来显示对象属性的验证错误,但是如何在类级别显示错误?
这是我正在谈论的一个例子:
@ScriptAssert(lang = "javascript",
script = "_this.isExistingEmployee == true || (_this.phoneNumber != null && _this.address != null)",
message = "New hires must enter contact information")
public class JobApplicationForm {
@NotBlank(message = "First Name is required")
private String firstName;
@NotBlank(message = "Last Name is required")
private String lastName;
@NotNull(message = "Please specify whether you are an existing employee in another area")
private Boolean isExistingEmployee;
private String phoneNumber;
private String address;
}
@ScriptAssert
这里只是确认,如果申请人表明他们是现有员工,他们可以跳过联系信息,但如果没有,他们必须输入。当此验证失败时,错误不在给定字段上,而是在类上。
在表单中,我可以在<form:errors path="firstName">
的字段上显示错误,我可以使用<form:errors path="*">
一次显示所有错误(类和字段)但是如何隔离并显示类级错误?
答案 0 :(得分:13)
要仅显示类级错误,请将路径留空。
<form:errors path="">
来自Spring docs:
- path =“*” - 显示所有错误
- path =“lastName” - 显示与lastName字段关联的所有错误
- 如果省略path,则仅显示对象错误