使用Bean验证(JSR 303)的JSF2 - Primefaces应用(Using bean

2019-10-16 21:02发布

我尝试使用Hibernate验证我的web应用程序整合Bean验证:
- 在Tomcat 7休眠 - 弹簧 - JSF2-primefaces3
我添加以下jar文件:休眠,validator.jar和验证-api.jar中我在Netbeans的类路径中。

在POJO类,我添加注释的大小:

@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文件我要补充。

Answer 1:

解决了,
我不得不添加必需的jar文件:从休眠状态,验证zip文件的jboss-测井3.1.0.CR2.jar到lib目录。
我认为log4j的是足够的记录,但我错了。



Answer 2:

这个问题已经回答过了。

如果你想用Bean验证你需要在Java EE容器。 Tomcat是只有一个servlet容器,因此,你需要额外的库。

没有得到JSR303注解和Tomcat 7的工作



文章来源: Using bean validation (JSR 303) in JSF2 - Primefaces application