我使用Spring mvc构建了一个表单验证系统。 这是我的对象用户
public class User{
@NotEmpty
@NotBlank
@Size(min=3,max=20)
private String name;
.....
}
到目前为止,如果您没有填写“名称”字段,则会收到3条消息:
例如,如果没有发送消息1,是否有办法获取消息2?
我解释得更好:如果用户没有填写字段,我只想打印消息“可能不是空的”。然后,如果用户填写一个只有空格的字段,我想打印消息“可能不是空白”。 然后,如果字段被填充(然后不是空的)并且不包含空格(然后不是空白),我想打印大小消息。
有没有办法用注释处理这个问题,或者我必须创建自己的验证器类?
我在互联网上查了一下,但我找不到解决方案,可能是因为很难解释谷歌要找什么。
答案 0 :(得分:1)
您可以使用group
和@GroupSequence
与验证码达成订单:
答案 1 :(得分:0)
您可以创建自己的注释并使用元约束@ReportAsSingleViolation。
查看这些网站
http://docs.jboss.org/hibernate/validator/4.0.1/reference/en/html/validator-customconstraints.html http://docs.jboss.org/hibernate/validator/4.0.1/reference/en-US/html/validator-customconstraints.html
所以你的代码看起来像
@ReportAsSingleViolation
@NotEmpty
@NotBlank
@Length(min = 3, max = 20)
public @interface CustomAnnotation {
public abstract String message() default "{customkey}";
public abstract Class<?>[] groups() default {};
public abstract Class<?>[] payload() default {};
}