对于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可以取最大值,@ Size(max = OTP_LENGTH),但是最小值再次为0。如果我不覆盖消息,它将显示长度应在0到6之间。
答案 0 :(得分:2)
您必须使用@Size注释中的min
和max
字段,例如:
@Size(min = OTP_LENGTH, max = OTP_LENGTH, message = "OTP Length must be between {min} and {max}")
private String otp;
要获得价值,您可以validatedValue
属性。