Я хочу, чтобы настроить ошибку проверки пружинные дляНастройка Ошибка проверки пружины
@NotNull
@Length(max = 80)
private String email;
, но я не могу это сделать. Каким шагом следовать?
Я хочу, чтобы настроить ошибку проверки пружинные дляНастройка Ошибка проверки пружины
@NotNull
@Length(max = 80)
private String email;
, но я не могу это сделать. Каким шагом следовать?
JSR 303 default message interpolation algorithm позволяет настраивать сообщения, поставляя пакет ресурсов с именем ValidationMessages. Создать ValidationMessages.properties
файл в пути к классам:
javax.validation.constraints.NotNull.message=CUSTOM NOT NULL MESSAGE
javax.validation.constraints.Size.message=CUSTOM SIZE MESSAGE
Это изменяет сообщение по умолчанию для @Size
ограничения, так что вы должны использовать @Size
ограничение вместо Hibernate-специфического @Length
ограничения.
Вместо изменения сообщения по умолчанию для всех ограничений вы можете изменить сообщение для конкретного экземпляра ограничения. Установите атрибут message
на ограничение:
@NotNull(message = "{email.notnull}")
private String email;
И добавьте сообщение в файл ValidationMessages.properties
:
email.notnull=E-mail address is required
К весне я предполагаю, что вы имеете в виду Spring MVC.
Из приведенной ниже ссылке http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html
Здесь вы идете -
Вы создать класс валидатора -
public class UserValidator implements Validator {
public boolean supports(Class candidate) {
return User.class.isAssignableFrom(candidate);
}
public void validate(Object obj, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "firstName", "required", "Field is required.");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "lastName", "required", "Field is required.");
}
}
Поместить в любой текст публикации вы хотите в поле выше.
В JSP вам потребуется следующий тег -
<tr>
<td>First Name:</td>
<td><form:input path="firstName" /></td>
<!-- Show errors for firstName field -->
<td><form:errors path="firstName" /></td>
</tr>
Этот путь будет распечатана любая ошибка проверки для firstName
.
Я использую аннотации Validation как @NotNull. Итак, где хранится сообщение в Spring jar? Я думаю, мне нужно их отредактировать –
@ apache-fan Я голосую за ваш ответ, потому что OP говорит о современной проверке стиля JSR303, а не о старой пружине. –
Я думаю, что достойная боковая панель для добавления здесь заключается в том, что вы можете получить минимальные и максимальные значения размера, такие как 'javax.validation.constraints.Size.message = Длина должна быть между {min} и {max} символами – Patrick
, как это сделать Я делаю интернационализацию с этим файлом свойств? ValidationMessages_ .properties? –
@Chin Huang, Что делать, если значения {min/max] могут изменяться динамически? Можно ли указать параметр сообщения {Минимальное значение {provided_at_runtime}}, где provided_at_runtime не ссылается на атрибут аннотации –