java - 提交 JSF 页面时未调用 @AssertTrue 方法

标签 java jsf assert bean-validation

我在 hibernate-validator-4.2.0.Final 和 JSF 2.1 中使用 bean 验证。当我提交页面时 @NotEmpty, @NotNull,.. 工作正常,但我的方法,用 @AssertTrue 注释从未被调用。

我将访问修饰符更改为 public,将其重命名为 getValid,但从未调用该方法..

@AssertTrue(message = "test")
    private Boolean isValid() {
        return ....;
    }

最佳答案

JSF 不通过 Validator#validate 验证完整的 bean,而是为每个表单字段调用 Validator#validateValue。这是 isValid 表单域吗?

关于java - 提交 JSF 页面时未调用 @AssertTrue 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15407358/

相关文章:

java - Servlet 中的线程安全

javascript - 在我的 java 数据表中合并类似于 ms access 的查找对话框

java - 为什么 JUnit 不提供 assertNotEquals 方法?

java - 给定纬度和经度点,找到边缘点和多边形区域

java - 如何组织我的 Java 7 Eclipse GWT 项目?

java - 如何阻止在非渲染 JSF 组件中计算 EL 表达式?

c++ - 是否有任何理由不将 assert() 包装在解析为 gcc 中的 __builtin_unreachable() 的宏中?

python - python assert函数的建议

java - 使用 SQLiteOpenHelper onCreate() 方法时向 sqlite 插入 2 行

java - Facelet - img 标签