【发布时间】:2012-11-05 21:05:09
【问题描述】:
Grails 2.1.1
我似乎无法让命令对象注入服务,以便我可以使用自定义验证器。我尝试了几件事,包括 Grails command object data binding 和 自定义验证器上的 2.1.1 文档建议什么,我就是想不通这个..
相关代码:
class RegistrationCommand {
String username
def registrationService
static constraints = {
username validator: { val, obj ->
obj.registrationService.isUsernameUnique(val) }
}
}
class RegistrationService {
def isUsernameUnique(username){
def user = new User(username:username)
user.validate()
if(user.errors.hasFieldErrors("username")){
return false
}else{
return true
}
}
【问题讨论】:
-
您是否收到错误消息?如果有,是什么?
-
一个几乎相同的案例在 2.1.1 下对我来说很好用。在我的例子中,包括 obj 第二个参数并使用它是关键,但你已经有了。
-
是的,我有 @grails.validation.Validateable.. 我得到的错误是 NullPointerException (Cannot invoke method isUsernameUnique() on null object)。
标签: grails customvalidator command-objects