让我们说,我使用@RequestBody
public class MyRequestBean extends RequestBean {
private static final long serialVersionUID = 1L;
private String lastName ;
private String firstName ;
private String ssnNumber;
private String groupCd;
}
我已将@Valid
放在 - @RequestBody
旁边的入口点方法中。
我正在努力实现两件事,
ssnNumber
是绝对必填字段 - 如果为空或null - 无需验证任何其他内容。只需返回错误消息。
如果ssnNumber
有效,请查看以下三个字段中的任何一个字段firstName
,lastName
和groupCd
是否对@NotNull
& @NotEmpty
。如果存在任何字段,请处理该请求。
我怎样才能做到这一点?
我正在使用这两个依赖项进行验证,
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
验证API是 - 1.1.0.Final &amp; Hibernate Validator是 - 5.3.4.Final
编辑:可能重复的链接是在讨论JSON字段顺序。就我而言,字段顺序并不重要。它关于字段验证顺序。我错过了什么吗?
答案 0 :(得分:0)
我没有找到一种方法来进行注释,即带注释的订单字段验证。
我必须通过实现 - MyValidator
并在那里编写我的有序逻辑然后在控制器类中为该控制器添加该验证器来编写我的自定义验证器类org.springframework.validation.Validator
,
@InitBinder
public void globalInitBinder(WebDataBinder binder) {
binder.addValidators(new MyValidator());
}