我有一個類:Grails的3 - 檢查是否命令對象的值均爲空
class PersonCommand implements Validateable {
String firstName
String lastName
static constraints = {
firstName nullable: true
lastName nullable: true
}
}
我有型PersonCommand的名單,我需要驗證。我想遍歷每個元素並檢查firstName和lastName是否都爲null。有沒有辦法做到這一點,而沒有明確檢查這些屬性?我想這樣做:
for(PersonCommand person in people) {
if(areAllMapValuesNull(person.properties)) {
person.validate()
} else {
...
但person.properties具有其他屬性添加到它不僅僅是firstName和lastName,因爲它是Validateable。我沒有在areAllMapValuesNull()函數上尋找幫助,只是在沒有硬編碼檢查的情況下獲取值firstName和lastName。
嘗試'person.properties.entrySet()。findAll {it.key in [「firstName」,「lastName」]}'而不是'person.properties' –
不幸的是,它也有像class,errors,constraints,和constraintsMap。 – Anonymous1
當你在[「firstName」,「lastName」]}中做findAll {it.key之後'或者只對所有持久性屬性使用'findAll {it.key in person.persistantProperties.name}'時,它不會包含類,錯誤約束等屬性.. –