5

Grails Webflowプラグインを使用しています。私が扱っているドメインオブジェクトは次のとおりです。

class Foo implements Serializable {
    String fooProp1,
           fooProp2

    static constraints = {
        fooProp2 nullable: false
    }
}

class Bar implements Serializable {
    Foo fooObject

    static constraints = {
        fooObject nullable: false
    }
}

Webflow のある時点で、fooObject.fooProp1 が null でないことを確認する必要があります。そうである場合は、エラーをスローして、ユーザーに強制的に値を指定させたいと考えています。(Bar オブジェクトと Foo オブジェクトの両方で) これを行うために validate() を使用しようとしましたが、fooProp1 には nullable:true プロパティがあるため、検証に合格します。何か案は?

4

1 に答える 1

10

おそらく、次のコードを適応させることで、Web フローでこれを行うことができます。

if(fooObject.fooProp1 == null) {
    fooObject.errors.rejectValue('fooProp1', 'nullable')
}

そのメソッドの 2 番目の引数 は'nullable'、状況によって異なる場合があります。必要なエラー メッセージを表示するには、(message.properties からの) メッセージ コードに設定する必要があります。

とのその他の使用方法については、こちらをご覧ください。reject()rejectValue()

于 2010-10-26T14:55:30.183 に答える