【问题标题】:Model class name has the same name as spring validation annotation模型类名与spring验证注解同名
【发布时间】:2016-12-06 08:12:09
【问题描述】:
我想使用@Email 注释验证我的项目中的电子邮件字段。但问题是我的模型类名称也是电子邮件。
因此它显示异常“电子邮件无法转换为注释”。
是否有任何解决方案(不更改类名)。
这是我的模型类:
public class Email implements EntityMarker{
@NotEmpty
@Email
private String emailId;
@NotEmpty
@Size(max = 15, message = "Your name must be less than 15 characters")
private String name;
}
【问题讨论】:
标签:
java
hibernate-validator
spring-validator
【解决方案1】:
@Emailvalidator 注解属于 hibernate-validator。
当您只使用@Email 时,IDE 将无法判断这是 hibernate-validator 还是您的类名。
所以像这样使用验证器:
public class Email implements EntityMarker{
@NotEmpty
@org.hibernate.validator.constraints.Email
private String emailId;
..//do whatever you want
}
如需使用@Email 注解,请在您的 pom.xml 文件中包含 hibernate-validator 依赖项。
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.1.1.Final</version>
</dependency>
如果有帮助请告诉我。