Bean校验,Hibernate Validator案例训练,用户信息验证,分组验证的非mvc用法

上节课我们对用户信息的验证做了个简单的案例

image.png

那么这节课我们学习下在非mvc下的分组验证
上节课我们的实体UserEntity里面除了用户名 密码字段 还有 用户id字段 那么这个id是否需要验证呢?
分两种情况做一个场景
1.新增用户 只验证用户名 密码 和一些其他信息即可 用户id是没有的 还没产生(数据库的插入操作)
2.更新操作 在数据库中更新这张表 用户id是一定要有的 如果值小于0或者不符合我们的规范 是不能执行操作的
如果在新增的时候加入验证注解
下面假设在UserEntity里面的userid字段上打入注解@Min
代码如下
image.png

那么MyTest1里面的方法也会对userid进行验证 新增则会报错
因此这节课我们要学习分组验证
也就是在打注解的时候后面跟上group
下面看代码
来到hibernate validator官网https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#chapter-groups
给了我们的基本验证方式
image.png

可以看见groups是一个复数 说明可以放多个验证的class 这个class不需要我们写任何代码 只需要写个接口即可
接下来在com.jtthink下创建一个ValidateGroup包
在包下面创建两个空接口 SaveValidate和UpdateValidate
目录如下
image.png

SaveValidate //执行新增操作的时候用到的接口
UpdateValidate//执行update操作的时候用到的接口
这两个空接口不需要写任何代码 也不需要实现
接下来来到UserEntity用户实体类
我们在执行用户新增操作的时候 由于在userid字段上打入了@Min注解
image.png

也就是说在插入用户实体的时候用户id不能小于100
接下来加入分组
image.png

大括号里面可以写入多个class 如果只有一个 则不用大括号
为了演示
在MyTest1中写一个方法SaveUser
下面来到文档
image.png

看见分组验证执行的validator方法
上节课我们在UserConfig中写了一个bean对象 其返回一个spring的默认验证器 他本是是继承于validator接口的

这里我们需要改一下 直接使用它的实现类 如下
image.png

然后再MyTest1中修改一下装配时用到的类
image.png

因为localValidator里面的一些方法是Validator接口里所没有的
接下来看下MyTest1中新增的方法
image.png

接下来修改下MySpring中调用代码
image.png

这里执行的是我们在MyTest1中新增的SaveUser方法 表示新增
运行结果
image.png

因为我们一个参数都没设置 所以这里的userid一定是不对的 因为我们注解里面匹配的是groups的分组验证
如果我们在MyTest1中去掉SaveValidate.class参数
代码如下
image.png

没有参数二
再次运行下MySpring
image.png

可以发现依然能够验证
因为我们的UserEntity中注解匹配到了没有groups的注解 其中username是不能为空的
image.png

以上就是最简单的分组验证
为了以后学习Spring mvc 分组验证 我们将SaveUser中的方法参数二加上
image.png

下面改下username字段注解 将其也进行分组验证
在UserEntity中
image.png

接下来在MyTest1中新增个UpdateUser方法 执行更新操作
image.png

运行下MySpring
image.png

可以发现对用户名和userid进行验证了 因为注解中加入了groups
以上就是非mvc下分组验证的基本方式

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,284评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,115评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,614评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,671评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,699评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,562评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,309评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,223评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,668评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,859评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,981评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,705评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,310评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,904评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,023评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,146评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,933评论 2 355

推荐阅读更多精彩内容