Bean-Validation在JSF2.2下无效(Mojarra 2.2.5)

时间:2014-02-18 17:21:33

标签: jsf-2 bean-validation hibernate-validator jsf-2.2

从Majorra 2.1.27升级到2.2.5后,我的Bean-Validation停止工作。简单的例子:

<h:form>
    <h:outputLabel for="tf_name" />
    <h:inputText id="tf_name" value="#{test.testEntity.name}" />
    <h:message for="tf_name" />
    <br />
    <h:commandButton value="save" action="#{test.cantTouchThis}"/>
</h:form>

我的TestEntity上的字段“name”用@NotNull注释(我在web.xml + INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL中将org.apache.el.parser.COERCE_TO_ZERO设置为true,为我的tomcat设置为false。

如果我使用Majorra 2.1.27(我使用maven btw。)一切正常。但是,如果我切换到2.2.5我的方法cantTouchThis()被调用,即使我将字段留空。我也尝试过其他验证器,它们似乎都没有用。验证完全被跳过。

任何想法?

1 个答案:

答案 0 :(得分:3)

根据lu4242的提示,这是Majorra的一个错误。该漏洞出现在2.2.3版本中,并以2.2.7(在撰写本文时尚未正式发布)修复。

有关详细信息,请参阅https://java.net/jira/browse/JAVASERVERFACES-3183