gpt4 book ai didi

java - 注释和正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:37:34 26 4
gpt4 key购买 nike

我需要使用注释 + 正则表达式验证电子邮件。我尝试使用以下内容:

@NotNull
@Pattern(regexp=".+@.+\\.[a-z]+")
private String email;

但是,当电子邮件字段中的电子邮件地址不正确时,我不知道如何打印错误消息。有什么想法吗?

最佳答案

首先,您应该将 message 属性添加到您的 Pattern 注释中。假设您的邮件变量是某个类 User 的一部分:

class User{
@NotNull
@Pattern(regexp=".+@.+\\.[a-z]+", message="Invalid email address!")
private String email;
}

然后你应该定义一个 validator :

ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
Validator validator = vf.getValidator();
User user = new User();
user.setEmail("user@gmail.com");
Set<ConstraintViolation<User>> constraintViolations = validator
.validate(user);

然后找出验证错误。

for (ConstraintViolation<Object> cv : constraintViolations) {
System.out.println(String.format(
"Error here! property: [%s], value: [%s], message: [%s]",
cv.getPropertyPath(), cv.getInvalidValue(), cv.getMessage()));
}

关于java - 注释和正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9978199/

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