Commons-validatorやhibernate validatorなどの非標準のフレームワークがあることは知っています。
誰かが公式の標準の実装を知っているかどうか知りたかった。
Hibernate Validatorは、JSR-303の 参照実装 です。
現在、2つの準拠した実装があります。
ベンチマークと両方の簡単な説明にアクセスできます: http://carinae.net/2010/06/benchmarking-hibernate-validator-and-Apache-beanvalidation-the-two-jsr-303-implementations /
OVaL はJSR-303バリデータではありませんが、jsr303制約を独自のものに変換できます。
Spring Frameworkは、バージョン3以降でJSR303に準拠するようになったと思います。
Spring Framework 4.0は、セットアップサポートの観点からBean Validation 1.0(JSR-303)およびBean Validation 1.1(JSR-349)をサポートし、SpringのValidatorインターフェースにも適合させます。
2018年夏については、互いに取って代わる3つの仕様があります。
詳細は 公式サイト を参照してください。
Hibernate Validator 6.1 は最新のもの(380)のリファレンス実装です。それは素晴らしい ドキュメント をご覧になることをお勧めします(ただし、かなり大きなものです)。
CUBAプラットフォームのドキュメント は、速いイントロだけが必要な場合、トピックの理解をはるかに短くすることができます。 CUBAフレームワークはSpringとEclipseLinkに基づいているので、学んだことは通常のSpring + Hibernateプロジェクトでも使用できます:)
JSR 349は、Hibernate Validatorの古いバージョンと Apache BVal でサポートされています。どちらも「公式」です。
Hibernate以外のORMから、 EclipseLink はJSR 349をサポートし、HVが提供するValidatorインターフェースを使用できます。
可能であれば、古いバージョン(JSR 303)を使用せずに、349または380仕様に切り替えることをお勧めします。彼らはかなり成熟していて豊かです。
ORMが含まれていないプロジェクトでもBean Validationを使用できます。たとえば、Java 2SEまたはAndroidアプリを使用できます(これを参照してください- article )ただし、これはBean Validationが主な目的として設計されたアプローチではありません。これらのバリデーター(HVおよびBVal)を単独で使用することもできます(インスタンス化して呼び出す必要があります) Validator
およびExecutableValidator
手動)、Hibernate、Spring、または [〜#〜] cuba [〜#〜]