SpringBoot2.3.x-JSR303效验不显示

Posted 滑稽404#

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot2.3.x-JSR303效验不显示相关的知识,希望对你有一定的参考价值。

版本
2.3.7.RELEASE

导入依赖

Spring2.3.x的版本取消了JSR依赖包,需要导入

 		<dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>2.0.1.Final</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
            <version>${spring-boot.version}</version>
        </dependency>

开启效验&获取message

SpringBoot更常用@Validated来开启效验
以前的版本 就算不加BindingResult都能返回message,但是我试了好多次都不行
所以当前版本必须要加 BindingResult来读取错误信息

 @RequestMapping("/save")
    public R save(@Validated @RequestBody BrandEntity brand, BindingResult bindingResult){
        if(bindingResult.hasErrors()){
            Map<String,String> map=new HashMap<>();

            bindingResult.getFieldErrors().forEach(item->{
//                错误属性的名字
                String field = item.getField();
//                错误消息
                String message = item.getDefaultMessage();
                map.put(field,message);
            });

            return R.error(400,"提交数据不合法").put("data",map);
        } else {
            brandService.save(brand);
        }
        return R.ok();
    }

访问接口 成功获得message

以上是关于SpringBoot2.3.x-JSR303效验不显示的主要内容,如果未能解决你的问题,请参考以下文章

java登录密码效验

Spring框架 之@Valid注解的使用(嵌套类型的效验)

ajax和jQuery同时操作唯一效验和正则表达式

关于CRC效验

JS实现统一社会信用代码的效验(组织机构代码效验)

iview-form内table修改字段效验