当前位置: 首页 > news >正文

网站建设基本概述学校教育网站模板

网站建设基本概述,学校教育网站模板,理财平台网站建设,买天猫店铺的平台概述 Valid是使用Hibernate validation的时候使用Validated是只用Spring Validator校验机制使用 说明#xff1a;java的JSR303声明了Valid这类接口#xff0c;而Hibernate-validator对其进行了实现 Validation对Valid进行了二次封装#xff0c;在使用上并没有区别#xff…概述 Valid是使用Hibernate validation的时候使用Validated是只用Spring Validator校验机制使用 说明java的JSR303声明了Valid这类接口而Hibernate-validator对其进行了实现 Validation对Valid进行了二次封装在使用上并没有区别但在分组、注解位置、嵌套验证等功能上有所不同这里主要就这几种情况进行说明。 注解位置 Validated用在类型、方法和方法参数上。但不能用于成员属性fieldValid可以用在方法、构造函数、方法参数和成员属性field上 如 如果Validated注解在成员属性上则会报不适用于field错误 分组校验 Validated提供分组功能可以在参数验证时根据不同的分组采用不同的验证机制。如果自定了分组并且参数上不加校验哪个分组那么不会校验自定义的分组只会校验没有自定义的分组。Valid没有分组功能 举例 定义分组接口 public interface IGroupA { }public interface IGroupB { } 定义需要检验的参数bean public class StudentBean implements Serializable{NotBlank(message 用户名不能为空)private String name;//只在分组为IGroupB的情况下进行验证Min(value 18, message 年龄不能小于18岁, groups {IGroupB.class})private Integer age;Pattern(regexp ^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$, message 手机号格式错误)private String phoneNum;Email(message 邮箱格式错误)private String email;MyConstraintprivate String className; 测试代码 检验分组为IGroupA的情况 RestController public class CheckController {PostMapping(stu)public String addStu(Validated({IGroupA.class}) RequestBody StudentBean studentBean){return add student success;} } 测试 这里对分组IGroupB的就没检验了 如果把测试代码改成下面这样看看测试结果 RestController public class CheckController {PostMapping(stu)public String addStu(Validated({IGroupA.class, IGroupB.class}) RequestBody StudentBean studentBean){return add student success;} } 说明 1、不分 配groups默认每次都要进行验证 2、对一个参数需要多种验证方式时也可通过分配不同的组达到目的。 组序列 默认情况下 不同级别的约束验证是无序的但是在一些情况下顺序验证却是很重要。 一个组可以定义为其他组的序列使用它进行验证的时候必须符合该序列规定的顺序。在使用组序列验证的时候如果序列前面的组验证失败则后面的组将不再给予验证。 举例 定义组序列 GroupSequence({Default.class, IGroupA.class, IGroupB.class}) public interface IGroup { } 需要校验的Bean分别定义IGroupA对age进行校验IGroupB对className进行校验 public class StudentBean implements Serializable{NotBlank(message 用户名不能为空)private String name;Min(value 18, message 年龄不能小于18岁, groups IGroupA.class)private Integer age;Pattern(regexp ^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$, message 手机号格式错误)private String phoneNum;Email(message 邮箱格式错误)private String email;MyConstraint(groups IGroupB.class)private String className; 测试代码 RestController public class CheckController {PostMapping(stu)public String addStu(Validated({IGroup.class}) RequestBody StudentBean studentBean){return add student success;} } 测试发现如果age出错那么对组序列在IGroupA后的IGroupB不进行校验即例子中的className不进行校验结果如下 嵌套校验 一个待验证的pojo类其中还包含了待验证的对象需要在待验证对象上注解Valid才能验证待验证对象中的成员属性这里不能使用Validated。 举例 需要约束校验的bean public class TeacherBean {NotEmpty(message 老师姓名不能为空)private String teacherName;Min(value 1, message 学科类型从1开始计算)private int type; public class StudentBean implements Serializable{NotBlank(message 用户名不能为空)private String name;Min(value 18, message 年龄不能小于18岁)private Integer age;Pattern(regexp ^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$, message 手机号格式错误)private String phoneNum;Email(message 邮箱格式错误)private String email;MyConstraintprivate String className;NotNull(message 任课老师不能为空)Size(min 1, message 至少有一个老师)private ListTeacherBean teacherBeans; 注意 这里对teacherBeans只校验了NotNull, 和 Size并没有对teacher信息里面的字段进行校验具体测试如下 这里teacher中的type明显是不符合约束要求的但是能检测通过是因为在student中并没有做 嵌套校验 可以在teacherBeans中加上 Valid具体如下 Valid NotNull(message 任课老师不能为空) Size(min 1, message 至少有一个老师) private ListTeacherBean teacherBeans; 这里再来测试会发现如下结果 别再乱用了这才是 Validated 和 Valid 的真正区别 - 知乎 (zhihu.com)
http://www.zqtcl.cn/news/11424/

相关文章:

  • 网站建设的来源网站怎样做 文件签收
  • 阿里建站官网怎么在网上宣传自己的公司
  • 网页游戏排行榜4399南宁seo排名优化
  • 地方性门户网站有哪些wordpress nginx rewrite
  • wordpress搭建企业网站思路美橙表业手表网站
  • 自助建站系统网站建设开发wordpress add_action()
  • 什么网站可以做线上小游戏大兴网站设计
  • 国内优秀网站设计怎样查看网站是用什么cms 做的
  • 抚顺建设银行网站文山seo公司
  • 电子商务网站建设与维护管理生活在线线下6家实体店地址
  • 天河网站建设公司排名wordpress升级怎么退回
  • 电商设计网站有哪些功能模块建设网站需要哪些域名
  • 哈尔滨网站制作策划wordpress插件数据库存在哪
  • 网站建设开发费用网站视频存储方案
  • 外贸做那种网站有哪些中山做网站
  • 网站积分规则设计wordpress无法加载图片大小
  • 网站建设管理相关规定wordpress is_single
  • 国内网站推广一个好网站
  • 天津网站制作哪家好薇卖商标的上哪个平台
  • 校园网站建设的开题报告Wordpress找不到外观选项
  • 在哪里查网站是什么时候建站江山有做网站开发吗
  • 古城做网站的公司动画网站建设
  • 网站注册短信验证怎么做wordpress 搜索模版
  • saas建站平台汕头市澄海区建设局网站
  • 动易手机网站做网站需要的软件
  • 网站商城例子下载游戏系统网站开发说明书
  • 免费十八种禁用网站python的基本语法
  • 怎么修改wordpress主题的样式表宁波网络推广优化
  • 设计师如何做自己的个人网站网站怎么在工信部备案信息查询
  • 电子商务网站开发教程jquery网站开发平台