相关疑难解决方法(0)

Hibernate验证器:@Email接受要求@ stackoverflow有效吗?

我正在使用@Email注释来验证电子邮件地址.我遇到的问题是它接受像ask@stackoverflow有效的电子邮件地址这样的东西.我想这是因为他们想要支持内部网地址,但我似乎找不到一个标志,所以它检查扩展.

我是否真的需要切换到@Pattern(以及任何灵活的电子邮件模式的建议)或者我错过了什么?

validation hibernate spring-mvc hibernate-validator

49
推荐指数
5
解决办法
5万
查看次数

实体持久注册验证侦听器

我正在使用JBoss 6和Seam,我有一个我试图坚持的实体User.我已经扩展org.jboss.seam.framework.EntityHome为提供一个UserHome类并重写了该persist()方法.我用javax.validation注释彻底注释了我的实体类.当我为实体类中的所有字段提供有效值时,该对象将保持不变.当我违反其中一个验证约束时,持久性会按预期失败.

我遇到的问题是在异步持久化期间违反约束:hibernate没有告诉我哪个约束被违反了!

javax.validation.ConstraintViolationException: validation failed for classes [com.example.model.User] duringpersist time for groups [javax.validation.groups.Default, ]
at org.hibernate.cfg.beanvalidation.BeanValidationEventListener.validate(BeanValidationEventListener.java:132)
at org.hibernate.cfg.beanvalidation.BeanValidationEventListener.onPreInsert(BeanValidationEventListener.java:71)
Run Code Online (Sandbox Code Playgroud)

如果我通过添加EntityManager.flush()来强制同步持久性UserHome.persist(),那么我可以捕获ConstraintViolationException包含违反约束的输出日志语句.

我的问题:是否可以使用hibernate/jboss注册一个监听器来进行约束违规?我认为hibernate没有打印违规行为有点蹩脚,但希望我可以插入一些代码来捕获并记录它们以获取更多信息.否则我不知道违反了什么约束.

谢谢!

java validation orm hibernate

5
推荐指数
0
解决办法
3275
查看次数

匹配无效电子邮件地址的javax.validation.constraints.Email

我有一个User实体,其电子邮件属性带有注释@Email

@Email
private String email;
Run Code Online (Sandbox Code Playgroud)

@Valid在我的Controller类上使用(javax.validation.Valid)批注。问题是控制器验证程序正在传递无效的电子邮件。示例:
pusp @ 1-显然这是一个无效的电子邮件地址
pusp @ fake
我注意到的模式是,@Email只需要sometext @ text,它不需要扩展名(.com / org等)。这是预期的行为吗?我是否需要通过自己的正则表达式实现@Email(regex="")

java spring-mvc spring-validator

5
推荐指数
1
解决办法
6771
查看次数