70

例外だけをビューなどにバインドするのはBindingResult便利ですか?

正確な使用法はBindingResult何ですか?

または、モデル属性をビューにバインドするのに役立ちますか。

4

6 に答える 6

51

特定の例: Controller 内のValidatorの validate メソッドの引数として BindingResult オブジェクトを使用します。

次に、このオブジェクトをチェックして検証エラーを探します。

validator.validate(modelObject, bindingResult);  
if (bindingResult.hasErrors()) {  
    // do something  
}
于 2012-05-03T08:08:16.727 に答える
36

基本的BindingResultには、検証の結果を格納するオブジェクトが検証の結果を格納および取得する方法を指示するインターフェースです (エラー、許可されていないフィールドへのバインドの試行など)。

Spring MVC Form Validation with Annotations Tutorialから:

[ ] は、検証とバインディングの結果を保持し、発生した可能性のあるエラーを含むBindingResultSpring のオブジェクトです。検証されるモデルオブジェクトの直後に来る必要があります。そうしないと、Spring はオブジェクトの検証に失敗し、例外をスローします。 BindingResult

Spring が@Validを検出すると、検証対象のオブジェクトのバリデーターを見つけようとします。「アノテーション駆動型」が有効になっている場合、Spring は自動的に検証アノテーションを取得します。次に、Spring はバリデーターを呼び出し、エラーを に入れBindingResult、BindingResult をビュー モデルに追加します。

于 2016-04-19T10:00:33.830 に答える
9

Springの公式ドキュメントから:

バインディング結果を表す一般的なインターフェイス。エラー登録機能のインターフェースを拡張し、 バリデーターを適用できるようにし、バインディング固有の分析とモデル構築を追加します。

DataBinder.getBindingResult()メソッドを介して取得されたDataBinderの結果ホルダーとして機能します。BindingResultの実装を直接使用して、たとえば、その上でValidatorを呼び出すこともできます(たとえば、単体テストの一部として)。

于 2012-05-02T12:41:38.847 に答える