Как интернационализировать @Pattern(regexp="(^$|[0-9]{10})") в проверке бина?

Я использую проверку bean-компонентов для проверки своей сущности, она отлично работает в разных локалях и показывает сообщения об ошибках для конкретного региона, но я хочу интернационализировать поле 'ContactNo' в соответствии с регионом, как мои сообщения об ошибках @NotBlank(message="{contactNo.size}"),

Так как добиться

@Pattern(regexp="(^$|[0-9]{10})")
private String contactNo;`

где значение регулярного выражения изменяется в зависимости от региона?

1 ответ

Значение для regexp Атрибут должен быть постоянным, т.е. он должен быть доступен во время компиляции. Таким образом, либо он должен быть строковым литералом, как вы делаете сейчас, либо выводиться в static final переменная.

Я думаю, что вам нужно реализовать в пользовательском ограничении Bean Validation.

Другие вопросы по тегам