如何在验证器的消息中写入java变量值



对于OTP长度,我使用6,它是从变量中获取的

static final int OTP_LENGTH = 6;
@Size(min = OTP_LENGTH, max = OTP_LENGTH, message = "OTP Length should be {OTP_LENGTH} !!")
private String otp;

如果大小不是OTP_LENGTH,我会得到错误台面。

"fieldErrors": [
{
"field": "password",
"message": "Not a Base64 string !!"
},
{
"field": "otp",
"message": "OTP Length should be {OTP_LENGTH} !!"
}
]

我也试过

@Size(min = OTP_LENGTH, max = OTP_LENGTH, message = "OTP Length should be ${OTP_LENGTH} !!")
private String otp;

但是,OTP_LENGTH 6未设置。

期望值:-"OTP长度应为6!!">

还有其他只需要1个长度的验证器吗。

@Size,@Length可以取max,@Size(max=OTP_Length(,但min=0。如果我不覆盖消息,它将显示长度应该在0&6.

您必须使用@Size注释中的minmax字段,例如:

@Size(min = OTP_LENGTH, max = OTP_LENGTH, message = "OTP Length must be between {min} and {max}")
private String otp;

对于值,可以使用validatedValue属性。

最新更新