我正在使用Spring Boot,我想验证一封电子邮件。在我的DTO中,我有字段
@NotBlank
@Email
@Length(min = 5, max = 100)
String email
现在我想验证一下,例如,电子邮件不包含子行"@domain.com"
。我可以创建自己的注释进行验证,这不是问题。但也许已经有了关于字符串格式的解决方案?
谢谢。
如上所述,您可以使用regex,@Email
注释接受regexp作为参数。
在您的特定情况下,为了验证电子邮件不包含字符串@domain.com
,您可以使用以下正则表达式:
@Email(regexp ="^((?!@domain.com).)*$")
@NotBlank
@Length(min = 5, max = 100)
String email;
Java验证API提供接受regex:的@Pattern
注释
https://docs.oracle.com/javaee/7/api/javax/validation/constraints/Pattern.html