Spring MVC 3 と JSR 303 を使用しています。さまざまなタイプの Bean を含むフォーム バッキング オブジェクトがあります。リクエスト パラメータの値に応じて、検証して保存する Bean を選択する必要があります。@Valid
検証する Bean は実行時までわからないため、検証には使用できません。
コントローラーにa を注入できましたが、それを使用して Bean を検証し、「Spring の方法」でjavax.validation.Validator
エラーを a に保存する方法がわかりません。BindingResult/Error
initBinder
リクエスト マッピングのため、メソッドではなくハンドラー メソッドで行う必要があります。
[編集]
私が抱えている問題validate(Object, Errors)
は、ネストされた Bean を認識しないことです。検証する Bean は、foo.getBar().getBean() を介してアクセスされます。ここで、foo はフォーム バッキング オブジェクトです。するとvalidate(foo.getBar().getBean(), errors)
、次のエラー メッセージが表示されます。
JSR-303 validated property 'property-name' does not have a corresponding accessor for Spring data binding
誰かが前にこのようなことをしたことがありますか? ありがとう。