Customize spring validation error

人盡茶涼 提交于 2019-11-27 05:32:46

问题


I want customize the spring validation error for

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

but I'm unable to do it. What are the step to follow?


回答1:


The JSR 303 default message interpolation algorithm allows you to customize messages by supplying a resource bundle named ValidationMessages. Create a ValidationMessages.properties file in the classpath containing:

javax.validation.constraints.NotNull.message=CUSTOM NOT NULL MESSAGE
javax.validation.constraints.Size.message=CUSTOM SIZE MESSAGE

This changes the default message for the @Size constraint, so you should use the @Size constraint instead of the Hibernate-specific @Length constraint.

Instead of changing the default message for all constraints, you can change the message for a specific constraint instance. Set the message attribute on the constraint:

@NotNull(message = "{email.notnull}")
private String email;

And add the message to the ValidationMessages.properties file:

email.notnull=E-mail address is required



回答2:


By Spring I am assuming you mean Spring MVC.

From the below reference http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html

Here you go -

You create a validator class -

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.");
    }
}

Put in any validation text you want in the above field.

In the JSP you will need the following tag -

<tr>
    <td>First Name:</td>
    <td><form:input path="firstName" /></td>
    <!-- Show errors for firstName field -->
    <td><form:errors path="firstName" /></td>
</tr>

This way any validation error for firstName will be printed.



来源:https://stackoverflow.com/questions/4805168/customize-spring-validation-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!