首页 > 作文

使用注解@Validated和BindingResult对入参进行非空校验方式

更新时间:2023-04-03 21:58:01 阅读: 评论:0

目录
注解@validated和bindingresult对入参非空校验@validated 和 bindingresult 使用遇到的坑

注解@validated和bindingresult对入参非空校验

在项目当中少不了入参校验,服务器和浏览器互不信任,不能因为前端加入参判断了后台就不处理了,这样是不对的。

vt和vi的区别比如前台传过来一个对象作为入参参数,这个对象中有些属性允许为空,有些属性不允许为空。那么你还在使用if()el{}进行非空判断吗?不妨尝试下使用注解,可以使用@validated和bindingresult

注意:bindingresult需要放到@validated后面

示例代码如下:普通属性可以用@notempty() 特殊的使用@notnull() 比如:枚举类型

实体类:什么不允许为空就加

@notempty(groups = {schooldto.schoolgroup.class},message = "学校名不能为空")

注意:重要的事情叮嘱两遍。public interface schoolgroup{} 别忘了加这个!public internr285pface schoolgroup积分活动{} 别忘了加这个!

public class schooldto implements rializable {     private long id;    @notempty(groups = {schooldto.schoolgroup.class},message = "学校名不能为空")    private string schoolname;     @notnull    @notempty(groups = {schooldto.schoolgroup.class},message = "学校负责人不能为空")    private string schoolprincipal;     @notnull    @notempty(groups = {schooldto.schoolgroup.class},message = "职务不能为空")    private string principalposition;     @notnull    @notempty(groups = {schooldto.schoolgroup.class},message = "联系电话不能为空")    private string schoolphone;     //getter tter tostring 省略    public interface schoolgroup{}  别忘了加这个}

控制层:在入参对象上加@validated({schooldto.schoolgroup.class}), bindingresult bindingresult @validated进行验证,bindi聊斋志异读后感ngresult可以获取校验错误信息

  @postmapping("/schools")    @preauthorize("hasrole(\"" + authoritiesconstants.admin + "\")")    public map<string,object> createschool(@requestbody @validated({schooldto.schoolgroup.class}) schooldto schooldto,bindingresult bindingresult) throws exception {      //返回校验错误信息        map<string,object>map=new hashmap<>();        if(bindingresult.harrors()){            map.put("success","fal");            map.put("message",bindingresult.getallerrors());            return map;        }        // .........业务省略             return map;        }    }

测试:入参的时候我没有传principalposition和schoolphone

@validated 和 b迪丽热巴照片indingresult 使用遇到的坑

@validated 与bindingresult 需要相邻,否则 变量result 不能接受错误信息

控制台输出

field error in object ‘entity’ on field ‘变量’: rejected value [null]; codes [notnull.entity.变量,notnull.变量,notnull.java.lang.string,notnull]; arguments [org.springframework.context.support.defaultmessagesourceresolvable: codes

正确的内容截图

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-03 21:57:59,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/ed37e60bf66ea9bafb33cd94633b88a1.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:使用注解@Validated和BindingResult对入参进行非空校验方式.doc

本文 PDF 下载地址:使用注解@Validated和BindingResult对入参进行非空校验方式.pdf

标签:为空   变量   注解   别忘了
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图