我有这些自动生成的代码行:
EPRole validator: { EPRole r, EPUserEPRole ur ->
if (ur.EPUser == null) return
boolean existing = false
EPUserEPRole.withNewSession {
existing = EPUserEPRole.exists(ur.EPUser.id, r.id)
}
if (existing) {
return 'userRole.exists'
}
}
当我尝试编译代码时,我得到82: unexpected token: validator @ line 82, column 10.
我是groovy的新人,所以任何帮助都表示赞赏。
答案 0 :(得分:2)
您应该将具有正确类型和名称的属性添加到类中。首字母大写是针对类(或一般类型)。所以你的EPUserEPRole
应该有这样的属性:
EPRole epRole
然后为epRole
添加验证器。注意这个案例。
上面的代码会使groovy解析器混淆定义validator
类型的属性EPRole
,后跟:
,因此错误(或者它会尝试调用方法EPRole地图,取决于上下文)。