問題タブ [hibernate-validator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1732 参照

hibernate - JBoss 5.1 で hibernate 3.4 を使用しようとしましたが、javax.validation.ValidationException: Unable to find a default provider が発生します

JBoss 5.1 で Hibernate 3.4 を使用すると、いくつかの問題に遭遇しました。Hibernate 3.4 は JPA 1.0 の実装であるため、JBoss 5.1 で使用しても問題ありません。JBoss には独自のバージョンの Hibernate があり、これは /common/lib にありますが、JBoss が提供するバージョンは使用したくありません。私がしたことは、そのフォルダーから hibernate-annotations.jar、hibernate-commons-annotations.jar、hibernate-core.jar、hibernate-entitymanager.jar、hibernate-jmx.jar、および hibernate-validator.jar を削除して、私のHibernate 3.4 jarをserver/default/libディレクトリに入れます。また、hibernate-validator.jar 3.1.0 を war ファイルにコンパイルしました。そうしないと、JBoss がバリデーターの場所を認識できないようです。上記のすべてを行った後、war ファイルをパッケージ化し、それを deploy フォルダーにデプロイしました。

サーバーは問題なく起動しました。しかし、Web アプリケーションにアクセスしようとすると、エラーがスローされます。

JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:662) 原因: org.springframework.beans.factory.BeanCreationException: 'org.springframework. validation.beanvalidation.LocalValidatorFactoryBean#0': init メソッドの呼び出しに失敗しました。ネストされた例外は javax.validation.ValidationException: Unable to find the default provider at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1412) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean です(AbstractAutowireCapableBeanFactory.java:519) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) で org.

まだバリデータが見つからないようです。しかし、それはすでにwarファイルにあります。Jetty サーバーで Web アプリをテストしたところ、問題なく動作しました。JBoss 設定で何が間違っていますか?

0 投票する
3 に答える
17040 参照

java - spring3mvc@Validアノテーションが見つかりません

@Validアノテーションを使用しようとしましたが、eclipseは常に「Validはタイプに解決できません」というエラーを出します。私はspring3ライブラリを使用しています。

hibernate-validator-4.1.0.Final.jarをWEB-INF/libディレクトリにインポートしました。ただし、これで問題が解決するわけではありません。

どんな助けでも大歓迎です!

0 投票する
5 に答える
50494 参照

java - JSR 303: 注釈付きオブジェクトのコレクションを検証する方法は?

JSR 303 - Jave Bean Validation でオブジェクトのコレクションを検証することは可能ですか? コレクション自体には注釈がなく、含まれる要素には含まれていますか?

たとえば、2 人目の名前が null であるために制約違反が発生する可能性はありますか?

0 投票する
1 に答える
2553 参照

java - Hibernate Validator (Spring フレームワークで実行) を使用してエラー メッセージを標準化し、整理する方法

私はHibernate Validatorを学んでいます。任意の注釈にエラー メッセージ テキストを追加できることがわかりました。

しかし、これはエラー メッセージを処理する方法としては不適切なようです。エラー メッセージ ID を返し、プロパティ ファイルなどのリソース ファイルでメッセージ テキストを検索する方がわかりやすいでしょう。

このようにして、特定のリソース ファイルを交換することで、後で他の言語に拡張できます。また、エラー メッセージは 1 つの一貫した場所に編成されます。

ここで Hibernate Validator を使用する最善のアプローチは何ですか?

0 投票する
3 に答える
15789 参照

java - Hibernate Validator、カスタムResourceBundleLocator、Spring

Hibernate検証4.1でデフォルトのResourceBundleLocatorをオーバーライドしようとしています。これまでのところ完全に機能しますが、その使用例としては、ValidationFactoryをインスタンス化するJavaコードのみがあります。

Spring Hibernate検証でWebアプリケーションを使用する場合、自動的に構成されます(適切なHibernate検証* .jarファイルのみが存在する必要があり、自動的に使用されます)。そのシナリオでResourceBundleLocatorを置き換えるにはどうすればよいですか?プロパティまたはapplicationContext.xmlファイルにカスタムResourceBundleLocatorを指定する方法がありません。

0 投票する
1 に答える
15774 参照

spring - Hibernate Validator でカスタム ResourceBundle を使用する

Spring 3.0 までの Hibernate Validator 4.1 用のカスタム メッセージ ソースをセットアップしようとしています。必要な構成をセットアップしました。

翻訳はメッセージ ソースから提供されますが、メッセージ自体の置換トークンはメッセージ ソースで検索されるようです。

messageSource で「prop」を検索する呼び出しがあります。入るResourceBundleMessageInterpolator.interpolateMessageと、javadoc に次のように記載されていることに注意してください。

JSR 303 で指定されたアルゴリズムに従ってメッセージ補間を実行します。

注: ユーザー バンドルのルックアップは再帰的ですが、デフォルト バンドルのルックアップは再帰的ではありません!

これは、ユーザー指定のバンドルに対して常に再帰が行われるように見えるため、実際にはサイズのような標準メッセージを翻訳できません。

独自のメッセージ ソースをプラグインして、メッセージ内のパラメーターを置き換えるにはどうすればよいですか?

0 投票する
1 に答える
6847 参照

spring - @validを使用した春の検証where/howカスタムエラーメッセージ

プロパティファイルのエラーメッセージを使用して、春の検証を実行しようとしています。しかし、私が見つけた例はすべて、値がハードコーディングされているか、プロパティファイルから取得されているようですが、バリデータークラスを使用してそこで取得しています。

私の設定は少し異なります。リクエストマッピングで@Validアノテーションを使用しており、@ Validクラスは@NotNullなどを使用しています。人々が@NotNull(message = "blablabla");を実行する例を見てきました。ただし、これもハードコーディングされているため、メッセージをプロパティファイルに入れて、その場で簡単に編集できるようにし、将来的にi18nを簡単に実装できるようにします。

これを達成する方法についてのご意見をいただければ幸いです。

0 投票する
2 に答える
8070 参照

spring - 春の検証:文字列から日付に変換できません

私はいくつかの春のフォーム検証を行っていますが、私は得ています:

ただし、私の modelAttribute フォームには次のものがあります。

DateTimeFormat がこれを担当していると思いましたか?

hibernate-validator 4.0 を使用しています。

0 投票する
1 に答える
672 参照

spring - form:errorsはエラーのリストを表示しませんが、form:errors path="x"は機能します

フォームエラーの完全なリストを表示しようとしています。今は<form:errors path="x"/>数回できますが、間違えない限りそのまま使えるはず<form:errors/>ですか?ただし<form:errors/>、出力はありません。

なぜこれが起こっているのか誰かが知っていますか(そしてそうです、form:errorsは私のform:form内にあります)

0 投票する
6 に答える
33542 参照

java - プリミティブのコレクションの Hibernate 検証

私は次のようなことができるようにしたい:

つまり、リスト内の各項目を電子メール アドレスとして検証する必要があります。もちろん、このようなコレクションに注釈を付けることは受け入れられません。

これを行う方法はありますか?