2

問題:

私の Web アプリケーションでは、いくつかの制約を定義しました。制約のプロパティが一致しない場合でも、ドメイン クラスを「下書き」に保存できるように、制約を に設定しnullableましたtrue次のプロセスでは、オブジェクトを変更できます。その後、完全な検証を行いたいプロセスを終了します。つまり、プロパティを追加したいということです。nullable:false

  • 質問 1: ランタイム中に制約を拡張/変更する方法はありますか?
  • 質問 2: ドメイン クラスにネストされた制約 (他のドメイン クラス参照など) がある場合でも、すべての制約を反復処理する方法はありますか?

ありがとう

4

1 に答える 1

3
  • 回答 1: はい、おそらくできます。
  • 回答 2: はい。

例:

    def user = new User()
    for(constraint in user.constraints) {
        constraint.value.setBlank(true)
        constraint.value.setNullable(false)
    }

ネストされたフィールドの場合:

    for(constraint in user.someNestedFields.constraints) {
       ....
    }

しかし、そうすることはお勧めしません悪いアーキテクチャのようです。検証せずにドメイン エンティティを保存するには、 を呼び出すだけsave(false)です。

于 2013-11-14T08:54:09.283 に答える