Как записать значение переменной 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 не устанавливается.

Ожидание: - «Длина одноразового пароля должна быть 6 !!»

И есть ли другой валидатор, который занимает только 1 длину.

@Size, @Length могут принимать max, @Size (max = OTP_LENGTH), но снова min будет 0. Если я не отменю сообщение, оно покажет, что длина должна быть между 0 и 6.


person Satish Patro    schedule 02.11.2019    source источник
comment
Какое собственное сообщение вы видите в настоящее время?   -  person Tim Biegeleisen    schedule 02.11.2019
comment
сообщение: Длина OTP должна быть {OTP_LENGTH} !!. Это не замена на 6   -  person Satish Patro    schedule 02.11.2019
comment
Я следил за этим stackoverflow.com/questions/31020035/   -  person Satish Patro    schedule 02.11.2019
comment
как насчет: OTP Length should be '${OTP_LENGTH}' ?   -  person Andriy Budzinskyy    schedule 02.11.2019
comment
пытался. Не повезло.   -  person Satish Patro    schedule 02.11.2019


Ответы (1)


Вы должны использовать поля min и max из аннотации @Size, например:

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

В качестве значения вы можете validatedValue свойство.

person Andriy Budzinskyy    schedule 02.11.2019
comment
мы не можем использовать OTP_LENGTH? И есть ли альтернатива, чтобы взять только одну длину. Размер, длина занимает мин., Макс. - person Satish Patro; 02.11.2019
comment
stackoverflow.com/ questions / 31020035 /, у них работает - person Satish Patro; 02.11.2019