Я хочу настроить ошибку проверки spring для
@NotNull
@Length(max = 80)
private String email;
но я не могу этого сделать. Каким шагом следует следовать?
Я хочу настроить ошибку проверки spring для
@NotNull
@Length(max = 80)
private String email;
но я не могу этого сделать. Каким шагом следует следовать?
JSR 303 алгоритм интерполяции сообщений по умолчанию позволяет настраивать сообщения, поставляя пакет ресурсов с именем ValidationMessages. Создайте файл ValidationMessages.properties
в пути к классу, содержащему:
javax.validation.constraints.NotNull.message=CUSTOM NOT NULL MESSAGE
javax.validation.constraints.Size.message=CUSTOM SIZE MESSAGE
Это изменяет сообщение по умолчанию для ограничения @Size
, поэтому вы должны использовать ограничение @Size
вместо ограничения @Length
для Hibernate.
Вместо изменения сообщения по умолчанию для всех ограничений вы можете изменить сообщение для конкретного экземпляра ограничения. Задайте атрибут message
для ограничения:
@NotNull(message = "{email.notnull}")
private String email;
И добавьте сообщение в файл ValidationMessages.properties
:
email.notnull=E-mail address is required
Под Spring Я предполагаю, что вы имеете в виду 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
.