In Spring MVC, the field error messages are generated by validators associated with the controller, and you can use the <form:errors />
tag to render those field error messages in an default HTML “span” tag. For example,
1. Validator
A validator to check the “username
” field, if empty, return the “required.username
” error message from the resource bundle to controller.
//...
public class TextBoxValidator implements Validator{
@Override
public void validate(Object target, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(
errors, "username", "required.username");
}
}
/*** required.username = username is required! ***/
2. Display field error
And then, you can use the <form:errors />
to render the error messages that are associated with the “username
” field.
<form:errors path="userName" cssClass="error" />
It will renders and enclose the error messages with a default “span
” element, which contains a CSS class of “error
“.
<span id="username.errors" class="error">username is required!</span>
Note
path=”*” – display all error messages associated with any fields.
path=”username” – display error messages associated with the “username” field only.
3. Custom the output element
For some reasons, like CSS formatting purpose, you may need to enclose the error messages with different element instead of the default “span
” tag. To do this, just specify the prefer element inside the “element
” attribute :
<form:errors path="userName" cssClass="error" element="div" />
Now, it renders and enclose the error messages with a “div
” element, which contains a CSS class of “error“.
<div id="username.errors" class="error">username is required!</div>