Ich habe eine Klasse:Grails 3 - überprüfen, ob Befehl Objektwerte sind alle null
class PersonCommand implements Validateable {
String firstName
String lastName
static constraints = {
firstName nullable: true
lastName nullable: true
}
}
Ich habe eine Liste der Typ PersonCommand, die ich validieren müssen. Ich würde gerne jedes Element durchlaufen und prüfen, ob firstName und lastName null sind. Gibt es eine Möglichkeit, dies zu tun, ohne explizit nach diesen Eigenschaften zu suchen? Ich möchte wie etwas tun:
for(PersonCommand person in people) {
if(areAllMapValuesNull(person.properties)) {
person.validate()
} else {
...
aber person.properties hat andere Eigenschaften haben als nur Vorname und Nachname, da es Validateable ist. Ich suche nicht nach Hilfe für die Funktion areAllMapValuesNull(), sondern nur, um die Werte firstName und lastName zu erhalten, ohne die Prüfungen hart zu codieren.
versuchen Sie 'person.properties.entrySet(). FindAll {it.key in [" firstName "," lastName "]}' anstelle von 'person.properties' –
Das hat leider auch Eigenschaften wie class, errors, constraints, und EinschränkungenMap. – Anonymous1
Nachdem Sie 'findAll {it.key in [" firstName "," lastName "]}' oder allgemein für alle persistenten Eigenschaften nur 'findAll {it.key in person.persistantProperties.name}' gefunden haben, wird dies nicht der Fall sein Klassen-, Fehlerbeschränkungen usw. -Eigenschaften enthalten. –