我想自己处理JSR-303验证,即获取验证工厂并自己调用验证方法:
class FormBean {
void saveForm() {
if (! doValidate()) {
FacesContext.addMessage(...);
return;
}
...
}
void doValidate() { ... }
}
有没有办法禁用JSF中集成的bean验证? (不是immediate="true"
,它不仅会绕过验证,还会绕过更新模型阶段)
答案 0 :(得分:9)
您可以通过禁用字段的验证程序来禁用它:
<h:inputText value="#{bean.name}">
<f:validateBean disabled="true"/>
</h:inputText>
<强>更新强>: 为了在默认情况下禁用每个输入字段的bean验证,请尝试设置上下文变量: javax.faces.validator.DISABLE_DEFAULT_BEAN_VALIDATOR ,其值为' true 强>