【问题标题】:Why @AssertTrue doesn't work while @NotNull works?为什么 @AssertTrue 不起作用而 @NotNull 起作用?
【发布时间】:2016-07-25 06:01:08
【问题描述】:

我正在开发一个实体库。我在我的实体上放了一些 bean-validation 注释。

我坚信类路径中的 bean 验证实现。 @javax.validation.constraints.NotNull 有效,@javax.validation.constraints.AssertTrue 无效。

class MyEntity {

    @AssertTrue // does't work
    public boolean hey() {
        return false;
    }

    @NotNull // works; violation while persist
    private String some;
}

我可能做错了什么?

我使用org.hibernate:hibernate-validator 并用org.apache.bval:bval-jsr 更改它没有任何区别。

更新

该方法实际被调用。我检查了日志。

我的方法来了。

@AssertTrue(message = "a property must be eclusively system or owned")
private boolean execlusivelySystemOrOwned() {
    logger.info("execlusivelySystemOrOwnded()");
    final boolean result = system ^ (getOwner() != null);
    logger.log(Level.INFO, "result: {0}", result);
    return result;
}

【问题讨论】:

  • @NeilStockton AccessType.FIELD,我相信。

标签: java bean-validation hibernate-validator


【解决方案1】:

我想我找到了答案。

https://stackoverflow.com/a/12950573/330457

我不得不将方法重命名为isExeclusivelySystemOrOwned。

这就是为什么它被称为 Bean-Validation。

【讨论】:

    猜你喜欢
    • 2023-01-13
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    相关资源
    最近更新 更多