sirve - spring mvc español
Personalizar error de validación de primavera (2)
Quiero personalizar el error de validación de primavera para
@NotNull
@Length(max = 80)
private String email;
Pero no puedo hacerlo. ¿Cuáles son los pasos a seguir?
El algoritmo de interpolación de mensajes predeterminado JSR 303 le permite personalizar los mensajes al proporcionar un paquete de recursos llamado ValidationMessages. Cree un archivo ValidationMessages.properties
en la ruta de clase que contiene:
javax.validation.constraints.NotNull.message=CUSTOM NOT NULL MESSAGE
javax.validation.constraints.Size.message=CUSTOM SIZE MESSAGE
Esto cambia el mensaje predeterminado para la restricción @Size
, por lo que debe usar la restricción @Size
lugar de la restricción @Length
específica de @Length
.
En lugar de cambiar el mensaje predeterminado para todas las restricciones, puede cambiar el mensaje para una instancia de restricción específica. Establezca el atributo de message
en la restricción:
@NotNull(message = "{email.notnull}")
private String email;
Y añada el mensaje al archivo ValidationMessages.properties
:
email.notnull=E-mail address is required
Por primavera supongo que te refieres a Spring MVC.
De la referencia a continuación, http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html
Aqui tienes -
Usted crea una clase de validador -
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.");
}
}
Ponga el texto de validación que desee en el campo anterior.
En la JSP necesitarás la siguiente etiqueta:
<tr>
<td>First Name:</td>
<td><form:input path="firstName" /></td>
<!-- Show errors for firstName field -->
<td><form:errors path="firstName" /></td>
</tr>
De esta manera se imprimirá cualquier error de validación para el primer nombre.