Подтвердить что ты не робот

Настроить spring ошибку проверки

Я хочу настроить ошибку проверки spring для

    @NotNull
    @Length(max = 80)
    private String email; 

но я не могу этого сделать. Каким шагом следует следовать?

4b9b3361

Ответ 1

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

Ответ 2

Под 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.