2016-03-27 10 views
1

Angenommen, es gibt eine Domäne wie unten definiert.Wie annulliere ich die Felder, die die Validierung nicht bestehen und die Domäne speichern?

class Book { 
    String title   
    Author author 
} 

Jetzt speichere ich eine Instanz dieser Domäne. Die Autor-Domain hat einige Einschränkungen. Während des Speicherns schlägt die Validierung für den Autor nun fehl, anstatt die gesamte Domain nicht zu speichern. Ich möchte den Autor ungültig machen (der Autor kann null sein) und die Titelzeile so speichern, wie sie war. Mit anderen Worten, wie annulliere ich eine beliebige Anzahl von Feldern, deren Validierung fehlgeschlagen ist, und speichere den Rest der Eigenschaftswerte? Gibt es einen bequemen Weg dazu? Vielen Dank!

Antwort

1

Dies könnte einer der folgenden sein:

  1. In beforeInsert hook etwas tun unten wie:

    def beforeInsert() { 
        this.validate() 
        if(this.hasErrors()){ 
        // get all errors and iterate through it and set the field to null for same 
        } 
    } 
    
  2. Während die Domain sparen Sie

Domain verwenden könnte .save (validate: false)

Danke !!

Verwandte Themen