新建一个entity,添加表单验证注解
@Entity @Table(name="t_student") public class Student { @Id @GeneratedValue private Integer id; @NotEmpty(message="姓名不能为空!") //限制不为null且不为空,否则返回提示信息到页面 @Column(length=50) private String name; @NotNull(message="年龄不能为空!") @Min(value = 18,message = "年龄必须大于18岁!") private Integer age; setter、getter }
controller层添加进行表单验证的注解,并处理验证不通过信息
@RequestMapping("/add") public String add(@Valid Student student, BindingResult bingdingResult){ //@Valid:进行验证;BindingResult:验证返回的结果,不加的话会在验证不通过时抛出异常 if(bingdingResult.hasErrors()){ //一开始拦截器拦截请求时就进行了验证,假如不通过的话 return bingdingResult.getFieldError().getDefaultMessage(); //返回错误信息,比如姓名没填则返回“姓名不能为空!” }else { studentService.add(student); return "添加成功"; } }
- 限制条件清单
- @Null 限制只能为null
- @NotNull 限制必须不为null
- @AssertFalse 限制必须为false
- @AssertTrue 限制必须为true
- @DecimalMax(value) 限制必须为一个不大于指定值的数字
- @DecimalMin(value) 限制必须为一个不小于指定值的数字
- @Digits(integer,fraction) 限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction
- @Future 限制必须是一个将来的日期
- @Max(value) 限制必须为一个不大于指定值的数字
- @Min(value) 限制必须为一个不小于指定值的数字
- @Past 限制必须是一个过去的日期
- @Pattern(value) 限制必须符合指定的正则表达式
- @Size(max,min) 限制字符长度必须在min到max之间
- @Past 验证注解的元素值(日期类型)比当前时间早
- @NotEmpty 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
- @NotBlank 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格
- @Email 验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式
- 代码实例:D:/SpringBootJpa/entity/Student、StudentController
SpringBoot学习之表单验证@Valid
最后更新时间:
这里可以写作者留言,标签和 hexo 中所有变量及辅助函数等均可调用,示例:http://47.107.237.149/2019/04/30/SpringBoot学习之表单验证@Valid/