模型类名称与spring验证注释具有相同的名称

时间:2016-12-06 08:12:09

标签: java hibernate-validator spring-validator

我想使用@Email annotaion验证项目中的电子邮件字段。但问题是我的模型类名称也是电子邮件。 因此它显示了“电子邮件无法转换为注释”的异常。 有没有解决方案(不改变类名)。

这是我的模特课:

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;
}

1 个答案:

答案 0 :(得分:3)

@Email验证器注释属于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>

如果有帮助,请告诉我。