SpringMVC数据校验
2021-05-18 12:29
标签:商品 调用 ping reg 数据校验 字符串 temp dig 个数 项目中,通常使用较多的是前端的校验,比如页面中 思路 具体需求 添加相关校验包: 在需要校验的对象前加上@valid,后面紧跟Errors,用来做校验的错误处理。 校验的对象bean SpringMVC数据校验 标签:商品 调用 ping reg 数据校验 字符串 temp dig 个数 原文地址:https://www.cnblogs.com/xiehang/p/9744630.html一、准备
1.1 校验理解
js
校验。对于安全要求较高建议在服务端进行校验。服务端校验有:
service
接口中使用的参数。1.2 springmvc 校验
springmvc
使用hibernate
的校验框架validation
(和hibernate
没有关系)。
页面提交请求的参数,请求到Controller
方法中,使用validation
进行校验。如果校验出错,需要将错误信息展示到页面。
商品修改,添加校验(检验商品名称长度,生成日期的非空校验)如果校验出错,在商品修改页面显示错误信息。1.3 环境
hibernate-validator-4.3.0.Final.jar
jboss-logging-3.1.0.CR2.jar
validation-api-1.0.0.GA.jar
1 @RequestMapping(value = "/login",method = RequestMethod.POST)
2 public String Login(Model model, @Valid User user, Errors errors){
3 if (errors.hasErrors()){
4 return "login";
5 }
6 System.out.println(user);
7 model.addAttribute(user);
8 return "success";
9 }
1 public class User {
2 @NotNull
3 @Size(min = 3,max = 16)
4 private String username;
5 @NotNull
6 private String password;
注解
含义
@Null
被注释的元素必须为
null
@NotNull
被注释的元素必须不为
null
@AssertTrue
被注释的元素必须为
true
@AssertFalse
被注释的元素必须为
false
@Min(value)
被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value)
被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value)
被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value)
被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max=, min=)
被注释的元素的大小必须在指定的范围内
@Digits (integer,fraction)
被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past
被注释的元素必须是一个过去的日期
@Future
被注释的元素必须是一个将来的日期
@Pattern(regex=,flag=)
被注释的元素必须符合指定的正则表达式
Hibernate Validator
附加的constraint
@NotBlank(message =)
验证字符串非
null
,且长度必须大于0
@Email
被注释的元素必须是电子邮箱地址
@Length(min=,max=)
被注释的字符串的大小必须在指定的范围内
@NotEmpty
被注释的字符串的必须非空
@Range(min=,max=,message=)
被注释的元素必须在合适的范围内