gpt4 book ai didi

java - 自定义约束验证和 Null

转载 作者:行者123 更新时间:2023-12-01 05:33:37 25 4
gpt4 key购买 nike

我有自定义约束,具有以下逻辑:

@Override
public boolean isValid(City city, ConstraintValidatorContext context) {
boolean result = (city.getId() > 0 || (city.getName() != null && city.getName() != ""));
return result;
}

当我需要从创建操作中检查 City 实例时,这很有效(此字段是必需的,因此可以由 @NotNull 保护)。

但是当我需要更新包含 City 实例的对象时,此字段是可选的。因此,即使我将 @NotNull 约束分组到 Create 操作,我仍然需要一种方法来检查它是否为 null 以及(如果不是)它是否是有效对象。

我可以在不使用这两项检查创建另一个约束的情况下执行此操作吗?

感谢您的回答。

最佳答案

好的,我通过 OR null 检查编辑了第一个约束。

@Override
public boolean isValid(Country country, ConstraintValidatorContext context) {
boolean result = (country==null||
country.getId() > 0 ||
(country.getName() != null && country.getName() != ""));
return result;
}

在 bean 中

    @NotNull(groups = Create.class)
@ValidCountry(groups = {Create.class, Update.class})
private Country country;

关于java - 自定义约束验证和 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8572430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com