首页 > 其他分享 >后端数据校验注解不可用

后端数据校验注解不可用

时间:2024-11-08 10:50:55浏览次数:3  
标签:String 不可 boot 校验 brand 注解 message save bindingResult

解决方法:

       

1.导入依赖,版本与springboot一致

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
    <version>${spring-boot-starter-validation}</version>
</dependency>

2.在需要校验的实体类的字段上加上注解

如下

@NotBlank(message = "品牌名必须提交")
	private String name;

3.编写捕捉到错误的逻辑,记住要开启数据校验要加@Valid注解

 @RequestMapping("/save")
    public R save(@Valid @RequestBody BrandEntity brand, BindingResult bindingResult){
        log.info("提交表单:{}",brand);
        if(bindingResult.hasErrors()){
            Map<String ,String> map = new HashMap<>();
            //获取错误提示
            bindingResult.getFieldErrors().forEach((item) ->{
                //获取错误提示
                String message = item.getDefaultMessage();

               //获取错误属性名字
                String field = item.getField();


                map.put(field,message);
            });
            return R.error(400,"提交的数据不合法").put("data",map);
        }else {

            brandService.save(brand);
        }


        return R.ok();
    }

完成

标签:String,不可,boot,校验,brand,注解,message,save,bindingResult
From: https://blog.csdn.net/2401_84763035/article/details/143617118

相关文章

  • MyBatis Plus之注解实现动态SQL
     参考下面的sql语句即可实现@Select("<script>"+"selectgp.TEWRTYR,gp.FJFNM,gs.CVNNN,u.VCNBMBNV,gp.RAEER,gr.BVNCCVN\n"+"fromUPPBHTu\n"+"leftjoinGP_testgp\n"+......
  • FastAPI 查询参数与字符串校验详解:类型、校验规则与元数据设置
    FastAPI查询参数与字符串校验详解:类型、校验规则与元数据设置本文详细介绍了FastAPI中查询参数的设置与校验方法,涵盖了可选参数、默认值、必要参数和参数列表的处理方式。通过使用Query类,开发者可以为查询参数添加额外的校验规则,如最小长度、最大长度、正则表达式匹配......
  • 揭秘Java中的随机数生成:让你的程序更加不可预测!
    在Java中,生成随机数可以使用java.util.Random类或Math.random()方法。以下是详细的代码示例和解释:使用 java.util.Random 类1.生成一个随机整数importjava.util.Random;publicclassRandomIntegerExample{publicstaticvoidmain(String[]args){Ra......
  • 微服务架构——不可或缺的注册中心
    从今天开始,我们将以Java后端技术为切入点,深入探讨微服务架构。本章的重点将聚焦于微服务中最关键的环节之一:服务发现与注册。文章将循序渐进,由浅入深,逐步引领你进入微服务的广阔世界。不论你是技术新手还是经验丰富的专家,我都希望通过这篇文章,能够为你提供独特而有价值的见解与收......
  • SynthID Text 现已发布|在 AI 生成文本中应用不可见水印的新技术
    你是否难以分辨一段文本是由人类撰写的,还是AI生成的?识别AI生成内容对于提升信息可信度、解决归因错误以及抑制错误信息至关重要。今天,GoogleDeepMind和HuggingFace很共同宣布,在Transformersv4.46.0版本中,我们正式推出了SynthIDText技术。这项技术能够通过使用log......
  • 【SpringCloud】SpringBoot集成Swagger 常用Swagger注解
    概述:SpringBoot集成Swagger常用Swagger注解导语相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端,都期望有......
  • 什么是Java中的不可变类
    不可变类是指在创建后其状态(对象的字段)无法被修改的类。一旦对象被创建,它的所有属性都不能被更改,这种类的实例在整个生命周期内保持不变。关键特征:声明类为final,防止子类继承。类的所有字段都是private和final,确保它们在初始化后不能被更改。通过构造函数初始化所有的字......
  • 解决:在表单框内没有值的时候就点击弹窗确认按钮会触发表单校验,但是之后若填了值表单校
      save2(){//在点击确认按钮时,首先清除表单的校验错误this.$refs.formRef2.clearValidate();//重新进行校验this.$refs.formRef2.validate((valid)=>{if(valid){//修改操作if(this.messagetId!==undefined&&this.messagetId......
  • “不可能学不会的“--vscode的调试技巧
    文章目录1基本概念理解2运行步骤3不带参数的调试4带参数的调试4.1不配置launch.json文件4.2配置launch.json文件5参考文献1基本概念理解断点:通俗理解,断点是Debug过程中的一个标记,当程序运行到该标记时会暂停,一般第一个断点是程序运行的地方。第一个:直接运......
  • 机器学习3_支持向量机_线性不可分——MOOC
    线性不可分的情况如果训练样本是线性不可分的,那么上一节问题的是无解的,即不存在  和  满足上面所有N个限制条件。对于线性不可分的情况,需要适当放松限制条件,使得问题有解。放松限制条件的基本思路: 对每个训练样本及标签  设置松弛变量(slackvariable)对于线性不可......