0

以下の問題を教えてください。

テーブルにマップしたくない2つのドメインクラス(親、子)があるので、mapWith=none. しかし、そうするときはparent.validate()、検証を子にカスケードする必要があります。テーブルにマップされていないドメイン オブジェクトのカスケード検証を有効にするにはどうすればよいですか?

よろしくお願いします!

4

1 に答える 1

0

設計上できるかどうかはわかりません。

オプションで、親オブジェクトに customValidation() メソッドを追加して、子をループし、それらの validate() メソッドを呼び出すチェックを開始できます。子のエラーは、親オブジェクトのエラー オブジェクトに追加できます。

boolean cascadedValidation() {
    this.validate();

    children.each {
        if (!it.validate()) {
           it.errors.allErrors.each { err ->
               // Bind somewhere on parent object
           }
        }
    }

    return this.hasErrors();
}
于 2012-10-12T10:04:28.133 に答える