gpt4 book ai didi

Java/Spring MVC 3 验证电子邮件地址

转载 作者:IT老高 更新时间:2023-10-28 20:49:06 25 4
gpt4 key购买 nike

我有一个带有 Spring MVC 的 Java 后端,并且我正在我的域对象上使用这种方式验证电子邮件地址:

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
...
@NotNull
@Size(min = 1, max = 100)
@Pattern(regexp="^([a-zA-Z0-9\\-\\.\\_]+)'+'(\\@)([a-zA-Z0-9\\-\\.]+)'+'(\\.)([a-zA-Z]{2,4})$")
private String email;

但我得到的只是这些代码行

Set<ConstraintViolation<Person>> failures = validator.validate(personObject);
...
Map<String, String> failureMessages = new HashMap<String, String>();
for (ConstraintViolation<Person> failure : failures) {
failureMessages.put(failure.getPropertyPath().toString(), failure.getMessage());
System.out.println(failure.getPropertyPath().toString()+" - "+failure.getMessage())
}

我在控制台上得到了这个:

email - must match "^([a-zA-Z0-9\\-\\.\\_]+)'+'(\\@)([a-zA-Z0-9\\-\\.]+)'+'(\\.)([a-zA-Z]{2,4})$"

但我有电子邮件地址 test@test.com,所以正则表达式不匹配。

所以我有两个问题:

  • 这里有什么问题?
  • 我如何自己定义错误消息,因为将其显示给用户,这不是一件好事 :-)

提前感谢您的帮助和最诚挚的问候。

最佳答案

如果您使用 Hibernate Validator您可以使用 @Email annotation无论如何,您可以创建自定义约束注释并设置自定义消息以显示在资源属性文件中。

关于Java/Spring MVC 3 验证电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4674682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com