以编程方式设置上下文变量以启用/禁用bean验证

时间:2013-07-02 12:39:26

标签: jsf jsf-2 bean-validation

在我的web.xml中,我有这个配置条目:

<context-param>
   <param-name>javax.faces.validator.DISABLE_DEFAULT_BEAN_VALIDATOR</param-name>
   <param-value>true</param-value>
</context-param>

但是,我不希望它总是true。 我想在我的托管bean中设置它truefalse,具体取决于具体情况。 这可能吗?

1 个答案:

答案 0 :(得分:5)

不,这是解决具体问题的错误方法。为此,实际上应该使用<f:validateBean>标记。

您可以在每个视图或每个表单的基础上使用它,大多数自我记录只是将其包裹在<h:form>周围。 <h:form>反过来可以只是在模板客户端(以及主模板中的<f:validateBean>)。

<f:validateBean disabled="true">
    <h:form>

    </h:form>
</f:validateBean>

你甚至可以在那里使用EL。

<f:validateBean disabled="#{settings.beanValidationDisabled}">