Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 如何在JSF中禁用整个bean验证?_Jsf 2_Bean Validation - Fatal编程技术网

Jsf 2 如何在JSF中禁用整个bean验证?

Jsf 2 如何在JSF中禁用整个bean验证?,jsf-2,bean-validation,Jsf 2,Bean Validation,我想自己处理JSR-303验证,即获取验证工厂并自己调用验证方法: class FormBean { void saveForm() { if (! doValidate()) { FacesContext.addMessage(...); return; } ... } void doValidate() { ... } } 有没有办法禁用集成在JSF中的b

我想自己处理JSR-303验证,即获取验证工厂并自己调用验证方法:

class FormBean {
    void saveForm() {
         if (! doValidate()) {
             FacesContext.addMessage(...);
             return;
         }
         ...
     }
     void doValidate() { ... }
 }

有没有办法禁用集成在JSF中的bean验证?(不是说
immediate=“true”
,这不仅会绕过验证,还会绕过更新模型阶段)

您可以通过禁用字段的验证程序来禁用它:

<h:inputText value="#{bean.name}">
  <f:validateBean disabled="true"/>
</h:inputText>

更新
为了在默认情况下禁用每个输入字段的bean验证,请尝试设置上下文变量:javax.faces.validator.disable\u default\u bean\u validator,值为“true

,我想禁用所有输入的验证。您也可以使用
f:validateBean
包装多个输入组件,如图所示: