美文网首页 Java开发工具
利用 JSR303进行后台校验:

利用 JSR303进行后台校验:

作者: 刘小刀tina | 来源:发表于2020-02-07 12:37 被阅读0次

后端JSR303校验:

第一. 先导入包hibernate validator

   <!--后端JSR303校验依赖包-->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>6.0.9.Final</version>
        </dependency>

ps : 其实我发现Springboot starter启动类的jar包中已经集成了!!

第二. 基本注解介绍:

限制  说明
@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之间
@NotEmpty   验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
@NotBlank   验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格
@Email  验证注解的元素值是Email,也可以通过
@NotEmpty:作用在String、collection、map、数组上,不能为null,size > 0

第三:项目中的使用

. 实体类上加注解
package com.tina.springboot.springboot.entity;
import lombok.Data;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
@Data
public class Employee implements Serializable {

    //@NotNull
    private String empId;

    @NotNull
    @Pattern(regexp = "[\\u4E00-\\u9FA5]{2,5}(?:·[\\u4E00-\\u9FA5]{2,5})*",message = "姓名不合法")
    private String empName;

   // @NotNull
    private String gender;

    //@NotNull
    @Email(message = "不符合邮箱格式")
    private String email;

    //@NotNull
    private String createTime;

    //@NotNull
    private String depId;

    //@NotNull
    private String delFlag;
}

3。在controller类上加注解

@RestController
@Api(value = "Employee模块")
@RequestMapping("/test")
@CrossOrigin
@Sf4j
public class EmployeeController {

    @Autowired
    private EmployeeService employeeService;

 // 添加员工 //对名字和邮箱进行校验,不存在数据方可以储存,
@PostMapping(value = "/addEmp")
@ApiOperation(value = "添加员工")
public EntityResp<Object> addEmp(@Valid @RequestBody Employee employee,
                                     BindingResult bindingResult){

 log.info(">>>>实体类信息为:>>>>{}", JSON.toJSONString(validEntity));

       //(1)谨慎点可以来一次判断
 if(bindingResult.hasErrors()){
            return new EntityResp<>("对名字和邮箱进行JSR303校验失败",Code.SERVER_OTHER_ERROR);
        }else {
            return employeeService.addEmp(employee);
        }
  //(2)如果配置有全局异常捕获 无须判断
 return employeeService.addEmp(employee);
    }

}//类的大括号

@RestController
@Slf4j
public class TestValidController {

    @PostMapping(value = "/valid")
    public ApiResult valid(@Valid @RequestBody ValidEntity validEntity) {
        log.info(">>>>实体类信息为:>>>>{}", JSON.toJSONString(validEntity));
        return ApiResult.ok(validEntity);
    }
}

相关文章

  • 利用 JSR303进行后台校验:

    后端JSR303校验: 第一. 先导入包hibernate validator ps : 其实我发现Springb...

  • 数据校验

    JSR303 SpringMVC支持使用JSR303进行快速校验,我们只需要给需要校验的bean加上响应的校验注解...

  • jsr303做校验

    JSR303做数据校验 注解详解 校验方式

  • JSR-303校验

    JSR303参数校验自定义校验器 自定义注解(仿照JSR303格式) 写一个类继承ConstraintValida...

  • SSM框架的(CRUD)_新增_JSR303校验21

    已有:jQuery前端校验、ajax用户名重复校验新增:后端校验JSR303(重要数据) 员工保存: 支持JSR3...

  • JSR303数据校验及多环境切换

    JSR303数据校验 先看看如何使用 Springboot中可以用@validated来校验数据,如果数据异常则会...

  • JSR303校验的使用

    JSR303校验 SpringBoot中如果使用此数据检验,需添加依赖: 常用的校验 使用例子 错误提示 name...

  • JSR303后台数据校验的相关使用

    1)、标注校验注解想要使用JSR303帮我们做数据校验,可以给Bean里面需要验证的字段加数据校验注解。java为...

  • springMVC第二章数据校验和控制层传参

    springMVC第二章数据校验和控制层传参 知识点一:使用JSR303框架完成数据校验工作 1.导入数据校验所需...

  • Java bean验证顺序

    Java下对输入的校验主要是基于jsr303(jsr 380)通过对bean的field加校验注解,就可以让框架自...

网友评论

    本文标题:利用 JSR303进行后台校验:

    本文链接:https://www.haomeiwen.com/subject/afsmxhtx.html