8

JAXB (maven-jaxb2-plugin)
を使用してスキーマ (リクエストとレスポンス) からドメイン オブジェクトを生成しました。いくつかの属性に検証 (notnull /empty) を追加したいと思います。カスタム Bean Validation が必要です。アプリケーションは REST サービスです。Spring 3 と JSR 303 を使用していますが、JSR 303 を使用してスキーマから生成されたオブジェクトを検証できるとは思いません。

誰かがこれを行う方法について正しい方向に私に微調整を与えることができます.

4

4 に答える 4

4

Krasa JAXB プラグインを使用して、XSD ファイルから JSR 303 アノテーション付きモデル Bean を生成し、Springに入力 Bean を自動的に検証するように指示しています。これにより、優れた XSD があれば、非常に簡潔で非常に DRY なコードが得られます。

于 2013-03-19T01:58:43.177 に答える
2

実際、jsr-303 xml 構成を介してこれを行うことができます。たとえば、http://www.aviyehuda.com/2010/04/using-hibernate-validator-to-cover-your-validation-needs/を参照してください。

于 2012-02-10T01:37:03.177 に答える
0

あなたは正しい方法で JAXB を生成しています。ここをクリックして、JSR 303 と POC の連携方法を確認してください

于 2014-12-16T21:05:22.013 に答える
0

NotNull/Empty 検証の場合、スキーマで jaxb 制限を使用できます

以下に例を示します。

<xsd:simpleType name="NotEmptyString">
  <xsd:restriction base="xsd:string">
    <xsd:minLength  value="1"/>
  </xsd:restriction>
</xsd:simpleType>

または、正規表現パターンを使用できます。

<xsd:simpleType name="DirType">
  <xsd:restriction base="xsd:string">
    <xsd:pattern value="[LR]*"/>
  </xsd:restriction>
</xsd:simpleType>

: 単純型は、独自のクラス定義を保証しません。Java 独自の java.lang.String が使用され、setEventHandler()経由で要求しない限り、長さ制限はチェックされません。

詳細http://jaxb.java.net/tutorial/section_3_3-Validation.html#Validation

于 2011-05-03T08:44:39.730 に答える