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
}
}
答案 0 :(得分:2)
已解决..问题是由插件引起的。 我正在使用插件进行客户端jquery验证(jquery-validation-ui-1.4.2)。插件的控制器创建的命令对象没有注入服务。报告了该问题https://github.com/limcheekin/jquery-validation-ui/issues/17。该修复工作确实有效,但还没有向上游推进。