0

Grails: ドメイン オブジェクトのエラーとコマンド オブジェクトのエラーを組み合わせる方法を調べました。、しかし、何らかの理由で解決策がうまくいきません。Grails 2.2.1 ではなく、Grails 1.3.7 のみに対応している可能性があります。

InnerObjectCommand のリストを含むコマンド オブジェクト OuterObjectCommand があります。コントローラーに手動で入力してから、検証を呼び出しています。OuterObjectCommand で validate() を呼び出しても、InnerObjectCommand リストが検証されていないように見えるため、リストのすべての要素を個別に検証します。私がやりたいことは、InnerObjectCommand オブジェクトと OuterObjectCommand オブジェクトのすべてのエラーを flash.errors に追加することです。これどうやってするの?

4

1 に答える 1

0

バリデータページの最後の例を見てください。

漠然と、以下のようなものが必要になります。

class ParentCommand {
    List<ChildCommand> childCommands
    static constraints = {
        childCommands validator: {val, obj ->
            def errors = []
            val.each{
                 errors << (!it.validate() ? it.errors.allErrors : [])
            }

            errors?.flatten()
        }
    }
}
于 2013-07-03T18:28:55.233 に答える