def user = new User(params)
if (user.validate()) {
// do something with user
}
else {
user.errors.allErrors.each {
println it
}
}
错误
目的
Spring Errors 接口的一个实例,其中包含数据绑定和/或验证错误。
示例
说明
你还可以使用 reject 和 rejectValue 方法添加你自己的错误。
if (params.password != params.confirm_password) {
user.errors.reject(
'user.password.doesnotmatch',
['password', 'class User'] as Object[],
'[Property [{0}] of class [{1}] does not match confirmation]')
// The following helps with field highlighting in your view
user.errors.rejectValue(
'password',
'user.password.doesnotmatch')
render(view: 'signup', model: [user: user])
}
在上面 reject
的示例中,'user.password.doesnotmatch'
是对应于 grails-app/i18n/message.properties
中的值的错误代码,\['password', 'class User'\] as Object\[\]
是从 List
到 Object
数组的 Groovy 强制转换,以匹配预期的签名,'\[Property \[{0}\] of class \[{1}\] does not match confirmation\]'
是默认映射字符串。
在 rejectValue
示例中,'password'
是视图中使用 <g:hasErrors>
标记突出显示的字段,'user.password.doesnotmatch'
是 i18n 错误代码。