Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅当字段不为空时才打印@NotBlank消息_Java_Spring_Jsp - Fatal编程技术网

Java 仅当字段不为空时才打印@NotBlank消息

Java 仅当字段不为空时才打印@NotBlank消息,java,spring,jsp,Java,Spring,Jsp,我使用SpringMVC构建了一个表单验证系统。 这是我的对象用户 public class User{ @NotEmpty @NotBlank @Size(min=3,max=20) private String name; ..... } 到目前为止,如果不填写“名称”字段,您将收到3条消息: 可能不是空的 不能为空 大小必须介于3和20之间 例如,是否有一种方法可以在消息1未发送时获取消息2 我解释得更好:如果用户没有填写字段,我只想打印消

我使用SpringMVC构建了一个表单验证系统。 这是我的对象用户

public class User{

    @NotEmpty   
    @NotBlank
    @Size(min=3,max=20)
    private String name;    
.....
}
到目前为止,如果不填写“名称”字段,您将收到3条消息:

  • 可能不是空的
  • 不能为空
  • 大小必须介于3和20之间
  • 例如,是否有一种方法可以在消息1未发送时获取消息2

    我解释得更好:如果用户没有填写字段,我只想打印消息“可能不是空的”。然后,如果用户仅用空格填充字段,我想打印消息“可能不是空的”。 然后,如果字段已填充(然后不是空的)并且不包含空格(然后不是空的),我想打印大小消息

    有没有办法用注释来处理这个问题,或者我必须创建自己的验证器类


    我在互联网上查看了它,但没有找到解决方案,可能是因为很难向谷歌解释要查找什么。

    你可以使用
    @GroupSequence
    通过验证器获得订单:


    您可以创建自己的注释并使用meta constraint@ReportAsSingleViolation

    看看这些网站

    所以你的代码看起来

    @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 {};
    }
    
    @ReportAsSingleViolation
    @空空如也
    @不空白
    @长度(最小值=3,最大值=20)
    public@interface自定义注释{
    公共抽象字符串消息()默认值“{customkey}”;
    公共抽象类[]组()默认值{};
    公共抽象类[]有效负载()默认值{};
    }