使用javax.validation
注解, 实现表单验证
使用
1 2 3 4 5 6 7 8
| @RequestMapping("/") public String index(LoginForm form){ if (!form.verification()) { return null; } return "index"; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern;
public class LoginForm extends BaseForm {
@NotNull @Pattern(regexp = "[A-Za-z0-9]{1,32}") private String username;
@NotNull @Pattern(regexp = "[A-Za-z0-9]{32}") private String password;
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import org.hibernate.validator.HibernateValidator; import javax.validation.Validation; import javax.validation.Validator;
public abstract class BaseForm {
private final static Validator validator = Validation .byProvider(HibernateValidator.class).configure() .failFast(true).buildValidatorFactory().getValidator();
public boolean verification() { return validator.validate(this).size() == 0; } }
|
主要的几个注解
1 2 3 4 5 6 7 8 9 10
| @DecimalMax @DecimalMin @Digits @Future @Max @Min @NotNull @Past @Pattern @Size
|