自定义spring验证错误
我想自定义的弹簧验证错误自定义spring验证错误,spring,validation,customization,bean-validation,Spring,Validation,Customization,Bean Validation,我想自定义的弹簧验证错误 @NotNull @Length(max = 80) private String email; 但是我做不到。 接下来的步骤是什么?我假设您指的是Spring MVC 从下面的参考 给你- 您可以创建一个验证器类- public class UserValidator implements Validator { public boolean supports(Class candidate) { return
@NotNull
@Length(max = 80)
private String email;
但是我做不到。
接下来的步骤是什么?我假设您指的是Spring MVC 从下面的参考 给你- 您可以创建一个验证器类-
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
的任何验证错误。允许您通过提供名为ValidationMessages的资源包来自定义消息。在类路径中创建一个ValidationMessages.properties
文件,其中包含:
javax.validation.constraints.NotNull.message=CUSTOM NOT NULL MESSAGE
javax.validation.constraints.Size.message=CUSTOM SIZE MESSAGE
这将更改@Size
约束的默认消息,因此您应该使用@Size
约束,而不是特定于Hibernate的@Length
约束
您可以更改特定约束实例的消息,而不是更改所有约束的默认消息。在约束上设置消息
属性:
@NotNull(message = "{email.notnull}")
private String email;
并将消息添加到ValidationMessages.properties
文件:
email.notnull=E-mail address is required
我正在使用注释验证,比如@NotNull。那么,springjar中的消息存储在哪里呢?我想我需要编辑them@apache-fan I down投票给你的答案,因为OP说的是现代JSR303风格的验证,而不是旧的spring特定的验证。我认为这里值得添加的边栏是,你可以得到大小的最小值和最大值,比如
javax.validation.constraints.size.message=Length必须介于{min}和{max}字符
如何使用此属性文件进行国际化?ValidationMessages.properties?@Chin Huang,如果{min/max]的值可能会动态变化怎么办?是否可以指定为消息参数{最小值为{provided_at_runtime}},其中provided_at_runtime不引用注释属性我如何将颜色更改为红色?@Gonçalo,是的,似乎就是这样。检查