私は、検証のために注釈が付けられたオブジェクトのリストを含むコマンドオブジェクトを受け取るコントローラメソッドを持っています。ただし、完全に空の項目は無視する必要がありますので、コントローラーのメソッドヘッダーでは@Valid
を使用できません。これは、すべてのリスト項目のすべてのフィールドにエラーが発生するためです。Spring MVC:コントローラメソッドの後で手動で検証を開始する方法
空の行をリストから削除し、後でSpringバリデータを呼び出したいと思います。どうやってやるの?
これはSpringブートプロジェクトです。
についての詳細はthisてください行くことができる
validate()
方法に対して明示的に呼び出しますこの記事をチェックし、適切な例があると思うhttp://stackoverflow.com/questions/19190592/manually-call-spring-annotation-validation – Stan
私はこれを以前に見つけたことを覚えています。 SmartValidatorを注入しようとすると、依存関係が見つからなかった適格なBeanが見つかりませんでした[org.springframework.validation.SmartValidator]:autowire候補と見なされる少なくとも1つのbeanが必要です。 SpringのValidatorをインジェクトしようとすると、カスタムバリデーターを含めてBeanが多すぎるために失敗します。 – Arthur
OK、 '@Autowired @Qualifier(" mvcValidator ")を使って注入することができましたバリデーターmvcValidator;' – Arthur