ich diese Domain haben:Wie neue Überprüfung für ein Feld Domäne anzuwenden auf Grails
class Foo {
static hasMany=[
bars: Bar
]
String name
static constraints = {
name(blank: false, unique: true)
}
}
nach Werten in die Datenbank eingefügt habe ich eine weitere Validierung für Bars
bars(nullable: false, validator: {value, object ->
if(value.isEmpty()){
return['bars.empty.validation.error']
}
})
jetzt, wenn ich versuche, Update Foo Instanzen, die ohne Striche gespeichert wurden sparen, ist auf dem Feld beschweren bars
:
Field error in object 'Foo' on field 'bars': rejected value [[Bar : (unsaved)]]
Meine Frage ist, wie ich Foo
Instanzen ohne bars
Ja ist es. Denn wenn Sie versuchen, die Foo-Instanz zu aktualisieren, ist sie nicht mehr gültig, weil Sie die Einschränkung (Anforderung) hinzugefügt haben, dass sie Bars haben muss. Dies ist das erwartete Verhalten für das, was Sie getan haben. –