オブジェクト:Grailsの検証は私が最初のコードを表示した場合より簡単かもしれません、オブジェクトのリストの内容を検証するためにGrailsを取得しようとしている
class Item {
Contact recipient = new Contact()
List extraRecipients = []
static hasMany = [
extraRecipients:Contact
]
static constraints = {}
static embedded = ['recipient']
}
class Contact {
String name
String email
static constraints = {
name(blank:false)
email(email:true, blank:false)
}
}
基本的に私は何を持っていることは、単一であります連絡先(「受信者」)を必要と、これはうまく動作します:
def i = new Item()
// will be false
assert !i.validate()
// will contain a error for 'recipient.name' and 'recipient.email'
i.errors
私が好きな何もそれはextraRecipients 'は、それに添付Contact
オブジェクトのいずれかを検証します:
def i = new Item()
i.recipient = new Contact(name:'a name',email:'[email protected]')
// should be true as all the contact's are valid
assert i.validate()
i.extraRecipients << new Contact() // empty invalid object
// should now fail validation
assert !i.validate()
これは可能ですか、コントローラのコレクションを繰り返し処理し、extraRecipients
の各オブジェクトのvalidate()
と呼ぶだけですか?
ありがとう、私は後で今夜それにbashを持っています –
これは実際に動作し、私は使用しようとしている解決策だと思います。しかし、GrailsDomainClassValidatorをデバッグするのに少し時間を費やしてしまった場合、自動的にこれを行うべきであると思われ、私の場合は休止状態のプロキシクラスのために取得できません。 –