hibernate验证器@电子邮件长度大于64个字符



我使用hibernate验证器@Email和@Length作为请求验证器。就像这样。代码

@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个字符,那么它将是无效的如果我删除了@电子邮件,那么它可以超过64个字符。所以我认为@Email将电子邮件的长度限制为64个字符。我想使用@Email,但我希望电子邮件的长度限制在128个字符以内。如何做到。

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

电子邮件的本地部分限制为64个字符(不包括域(。也许这就是你的极限?

请参阅https://en.wikipedia.org/wiki/Email_address:

电子邮件地址的格式为local-part@domain其中本地部分可以长达64个字符,并且域可以具有最多255个字符。

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

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

最新更新