验证一个字段是否存在并有效

时间:2018-08-13 09:29:44

标签: java spring spring-boot constraints

我只是想知道如何在POJO上实现自定义验证或任何其他解决方案。 我的POJO已经以多种方式使用,不需要任何类型的验证,例如@NotBlank等。但是,如果我想更新其中的至少一个字段,则存在一种情况。然后验证它。 在请求正文中提供了我的POJO,我想验证是否提供了其中一个字段,然后接受请求,否则不接受。到目前为止,我已经以硬编码的方式实现了它。但是我想要春天靴子提供的东西。

我的pojo在

以下
public class Person {

    private String name;
    private String age;
    private String email;
    //etc .etc. getters and setters
}

现在,如果我想更新一个人,我想验证请求主体中是否提供了单个字段,然后接受有效负载,否则将违反约束。

到目前为止,我已经完成了硬编码,即

private boolean isInValid(Person per) {
        if (per == null) {
            return true;
        }

        int changes = 0;
        changes = changes + (StringUtils.isBlank(per.getName()) ? 0 : 1);
        changes = changes + (StringUtils.isBlank(per.getEmail()) ? 0 : 1);
//etc etc...
        return changes == 0;
    }

我想要Spring Boot提供的东西。

谢谢

1 个答案:

答案 0 :(得分:1)

如果标准的Hibernate Validator检查不够,您可以implement your own validators使用自定义逻辑