Spring MVC后台表单校验

来源:互联网 发布:淘宝网退货运费怎么算 编辑:程序博客网 时间:2024/05/17 22:55

Spring MVC后台表单校验使用了JSR-303的Java Validation API。
主要涉及三个方面:
1. Form Bean的验证规则注解
2. Controller处理方法参数注解
3. 利用Spring tag展现错误信息

Form Bean的验证规则注解

public class Spitter {  private Long id;  @NotNull  @Size(min=5, max=16, message="{username.size}")  private String username;  @NotNull  @Size(min=5, max=25, message="{password.size}")  private String password;  @NotNull  @Size(min=2, max=30)  private String firstName;  @NotNull  @Size(min=2, max=30)  private String lastName;  @NotNull  @Email  private String email;  public Spitter() {}  ......

为了配置错误提示信息,需要在根类路径下面创建名为ValidationMessages.properties的文件。

username.size = Username must be between {min} and {max} characters long.

Controller处理方法参数注解

 @RequestMapping(value="/register", method=POST)  public String processRegistration(      @Valid Spitter spitter,       Errors errors) {    if (errors.hasErrors()) {      return "registerForm";    }    spitterRepository.save(spitter);    return "redirect:/spitter/" + spitter.getUsername();  }

@Valid注解声明要验证的参数,Errors对象必须跟在该注解后面。
当验证不通过时,Controller携带错误信息返回原Form页面。

利用Spring tag展现错误信息

表单展现错误的Spring tag是

<sf:errors path="username">

也可以在表单头部将错误集中展现出来

<sf:errors path="*" element="div" cssClass="errors">