我有一个看起来像这样的课程
@Validateable
class StudentBean{
def String name;
def String age;
def String address;
def List<ErrorBean> errors = [];
static constraints = {
age nullable : false, validator : { val, obj, errors->
if(val<10)
errors.rejectValue("age", "student.age.notQualified.message", [val] as Object[], "Student not qualified.");
}
}
}
你可以看到我在StudentBean(List)中有一个errors属性。我意识到变量名与存储bean错误的错误有冲突。我所做的是将闭包改为像这样的东西
age nullable : false, validator : { val, obj, errorsValue->
if(val<10)
errorsValue.rejectValue("age", "student.age.notQualified.message", [val] as Object[], "Student not qualified.");
}
但我无法循环使用errorsValue来获取错误。
当我检查哪些错误是文档所说的:
域类的errors属性是Spring的一个实例 错误界面。 Errors界面提供了导航方法 验证错误并检索原始值。 https://grails.github.io/grails-doc/latest/guide/validation.html
所以这是域类的属性,可能已声明但隐藏了。 问题是我可以将错误属性名称更改为其他内容吗?
答案 0 :(得分:1)
您无法更改验证错误属性。
其原因归结为Grails背后的理念。按惯例,所有Grails域类都存在errors
。使Grails强大的大部分原因不是配置,而是配置#34;的约定。这确保了Grails项目之间的一致性,并使整个框架更易于学习和使用。