我正在尝试使用hibernate验证器将bean验证集成到我的Web应用程序中:
- tomcat 7上的Hibernate-spring-jsf2-primefaces3
我在Netbeans的类路径中添加了以下jar文件:hibernate-validator.jar和validation-api.jar。
在pojo类中,我添加了Size:
的注释@Size(min=4, message="Min 4 chars!")
private String name;
在.xhtml页面中我写道:
<p:inputText title="name" id="name" value="#{myBean.user.name}"></p:inputText>
<p:message for="name" />
运行我的应用程序并在名称字段中键入少于4个字符后,我看不到任何消息,处理继续并将数据保存到数据库。 在日志输出中,我看到:
14 juin 2012 14:55:03 org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate shouldAddEnclosingValidator
ATTENTION: Bean validation is not available on the classpath, thus the BeanValidator will not be added for the component org.primefaces.component.inputtext.InputText@1f3fd22
14 juin 2012 14:55:04 javax.faces.component._ExternalSpecifications isBeanValidationAvailable
INFO: MyFaces Bean Validation support disabled
我想知道是否需要设置任何配置,或者我必须添加任何jar文件。
答案 0 :(得分:2)
解决,
我不得不将所需的jar文件: jboss-logging-3.1.0.CR2.jar 从hibernate-validator zip文件添加到lib目录。
我认为log4j足以记录,但我错了。
答案 1 :(得分:0)
之前已经回答过这个问题。
如果要使用bean验证,则需要Java EE容器。 Tomcat只是一个servlet容器,因此您需要额外的库。