java-spring-validtion-在第一次验证失败时取消对字段的其他验证
我正在开发一个JavaSpringMVC应用程序。我有一个模型,在一个字段的顶部设置了两个验证注释。下面是一个代码示例:java-spring-validtion-在第一次验证失败时取消对字段的其他验证,java,validation,spring-mvc,Java,Validation,Spring Mvc,我正在开发一个JavaSpringMVC应用程序。我有一个模型,在一个字段的顶部设置了两个验证注释。下面是一个代码示例: public class MyModel{ @NotBlank(message = "This field can not be blank") @NationalCode(message = "Invalid national code") private String name; .... } 当我将name留空并提交表单时,错误验证数组有
public class MyModel{
@NotBlank(message = "This field can not be blank")
@NationalCode(message = "Invalid national code")
private String name;
....
}
当我将name
留空并提交表单时,错误验证数组有两个成员:
name => This field can not be blank
name => Invalid national code
但是,我不想要第二条线。事实上,我想当一个字段的第一次验证失败时,该字段上的所有其他验证都将停止执行。我如何才能做到这一点?这里缺少的是由提供的分组功能。您需要定义逻辑组,以便只显示由属于给定组的注释生成的任何错误消息。有关更多信息,请参阅 简而言之,定义自己的标记接口,例如,
NotBlankGroup
,并将此接口类添加到@NotBlank
注释中
@NotBlank(message = "This field can not be blank", groups = NotBlankGroup.class)
因此,只有当名称
字段值为空时,才能在@NotBlank
中获取消息
稍后,如果您希望添加@NationalCode
或其他自定义或预定义注释,您可以轻松地将NotBlankGroup
添加到具有组的其他注释中,以便将所有注释作为一个组进行评估