hibernate-validator @email 长度大于 64 个字符

hibernate-validator @email length greater then 64 characters

我使用 hibernate-validator @Email 和 @Length 作为请求验证器。作为这个。 Code

    @XmlElement
@Email(message = APIConstants.ERROR_INVALID_FIELD)
@Length(max = 128, message = APIConstants.ERROR_INVALID_FIELD)
@NotEmpty(message = APIConstants.ERROR_MISSING_FIELD)
private String email;

我发现如果电子邮件的长度大于 64 个字符,那么它将是 无效的。如果我删除 @Email,那么它可以大于 64 characters.So 我认为 @Email 将电子邮件的长度限制为 64 个字符。 我想使用@Email,但我希望电子邮件的长度限制在 128 个字符以内。 怎么做。

很难说没有电子邮件失败的例子。

电子邮件的本地部分限制为 64 个字符(域除外)。也许这就是您的极限?

参见https://en.wikipedia.org/wiki/Email_address

The format of email addresses is local-part@domain where the local part may be up to 64 characters long and the domain may have a maximum of 255 characters.

我们的验证器 (https://github.com/hibernate/hibernate-validator/blob/master/engine/src/main/java/org/hibernate/validator/internal/constraintvalidators/AbstractEmailValidator.java) 并不完美,但它应该是宽松的并接受所有有效的电子邮件地址(以及一些无效的)。

如果您有不被接受的有效电子邮件地址示例,请提供。