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

  1. path=”*” – display all error messages associated with any fields.
  2. 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>

4. Demo

SpringMVC-TextBox-Example-2

Download Source Code

Download it – SpringMVCForm-TextBox-Example.zip (9KB)
Tags :
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider making a donation to the charity, thanks.

Related Posts

Popular Posts