关于 Java 开发中的 validation 框架,有人解答一下么

2018 年 11 月 14 日
 liuhuansir

1、在表单实体类上加注解完成简单的参数校验,如果某个参数是非必填,但是填了又得校验格式,比如手机号码,那注解如何写呢?

3417 次点击
所在节点    Java
7 条回复
lihongjie0209
2018 年 11 月 14 日
校验和非空在 hibernate validation 中的是两个概念.

@Phone
private string phone;

表示可以为空, 如果不为空那就必须是电话格式



@NotEmpty
@Phone
private string phone;


表示不能为空, 且必须是电话格式
luzhen1012
2018 年 11 月 14 日
正则试一试
chocotan
2018 年 11 月 14 日
写个 private 方法,自己写校验逻辑,加 @AssertTrue 注解
x66
2018 年 11 月 14 日
Spring MVC Validator
liuhuansir
2018 年 11 月 14 日
@lihongjie0209 刚试了下,确实是这样,就是不懂为啥 @Pattern 这个不做成 @email 这样的,只有在非空情况下才去匹配,虽然用正则也可以匹配空,但是这样的话,正则表达式没法复用了
Honwhy
2018 年 11 月 14 日
有个 oval 可以试试,
[根据 xml 配置校验 bean]( https://segmentfault.com/a/1190000014454887)
lihongjie0209
2018 年 11 月 14 日
@liuhuansir 可以的, 我之前写了一个, 大概逻辑的就是:


https://gist.github.com/lihongjie0209/1eeb494453831edd1d7685df227c57ed

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/507695

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX