gpt4 book ai didi

java - 方法参数的@Pattern注解

转载 作者:太空宇宙 更新时间:2023-11-04 12:40:16 25 4
gpt4 key购买 nike

我正在尝试验证 emailId,它是方法参数的一部分,也是其余端点的查询参数。在方法参数中使用@Pattern注释不起作用。有没有更好的方法使用注释来处理这种情况

public EmailResponse isEmailRegistered(HttpServletRequest request,
@RequestParam("emailId") @Valid @Pattern(message = "Email is invalid", regexp = "^.+@.+\\..+$") final String emailId)

上面的方法我都试过了,还是不行。因为电子邮件 ID 字段是查询参数,所以我无法将其包装在对象中并在其上添加 validator 。

我尝试将其包装在包装对象中,如下所示,但没有成功

public EmailResponse isEmailRegistered(HttpServletRequest request,
@RequestParam("emailId") @Valid final EmailIdWrapper emailId, final BindingResult bindingResult)

EmailId 包装类

public class EmailIdWrapper implements Serializable{

@NotNull(message = "Email Id is required")
@Size(min = 5, max = 50, message = "Invalid length for email")
@Pattern(message = "Invalid email id", regexp = "^.+@.+\\..+$")
private String emailId;

public String getEmailId() {
return emailId;
}

public void setEmailId(String emailId) {
this.emailId = emailId;
}

}

在这种情况下,我收到 conversionnotsupported 错误,该错误非常明显,因为 url 参数是一个字符串,并且我正在分配给一个对象。

最佳答案

我知道有点晚了,但是你试过把

@Validated

在 Controller 类级别?

关于java - 方法参数的@Pattern注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36902876/

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