1

hibernatevalidatorを使用してBean検証をWebアプリケーションに統合しようとしています:
-tomcat 7のHibernate-spring-jsf2-primefaces3
次のjarファイルを追加しました:hibernate-validator.jarおよびvalidation-api.jarをNetbeansのクラスパスに追加しました。

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ファイルがあるかどうかを知りたいです。

4

2 に答える 2

2

解決
しました。必要なjarファイル:jboss-logging-3.1.0.CR2.jarをhibernate-validatorzipファイルからlibディレクトリに追加する必要がありました。
log4jでログを記録できると思いましたが、間違っていました。

于 2012-06-15T10:24:19.657 に答える
0

この質問は以前に回答されています。

Bean Validationを使用する場合は、JavaEEコンテナーが必要です。Tomcatは単なるサーブレットコンテナであるため、追加のライブラリが必要です。

Tomcat7で動作するJSR303アノテーションを取得しない

于 2012-06-15T07:25:51.223 に答える