私は Java 検証の分析を行っています。
オブジェクト [グラフ] をフィールドごとに検証するモジュールを構築する必要があります。アノテーションを使用し、ドメイン駆動型のカスタム アノテーションをサポートします。最も重要な側面は、無効なオブジェクトを拒否してはならず(たとえば、下層の永続レイヤーによって)、代わりに無効としてマークする必要があるということです。
たとえば、いくつかの属性を持つクラスを選択します。いずれかが無効である場合 (欠落している、または値が悪いなど)、どれが無効であるかを知り、別の場所で無効としてマークしたいと考えています。プリミティブ フィールドであろうと、検証に問題のある子エンティティであろうと、検証に合格しなかったすべてのフィールドの名前を取得することが重要です。
私は見ましjavax.validation
たが、の役割を理解できませんでしたConstraintViolation
:検証エラーが見つかったときにバリデーターによって返されますが、 AFAIKは収集するフィールド名を表示しません。
問題は、検証された Bean ごとに無効であることが判明したフィールド名のリストを表示する javax.validation の実装を使用した例はありますか?
ValidatedBy
また、カスタム ロジックで検証される繰り返し属性ごとに属性を追加する代わりに、カスタム属性を導入できますか?