如何为类错误显示Spring MVC表单错误

时间:2013-07-29 13:27:01

标签: spring validation spring-mvc

我熟悉使用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="*">一次显示所有错误(类和字段)但是如何隔离并显示类级错误?

1 个答案:

答案 0 :(得分:13)

要仅显示类级错误,请将路径留空。

<form:errors path="">

来自Spring docs:

  
      
  • path =“*” - 显示所有错误
  •   
  • path =“lastName” - 显示与lastName字段关联的所有错误
  •   
  • 如果省略path,则仅显示对象错误
  •   

参考:http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/view.html#view-jsp-formtaglib-errorstag