我从数据库中获取结果列表,但列表没有验证约束,直到我调用" validate()"每个对象的方法。
def temp = ConfigInfo.where { projectId == project }.findAll()
//at this stage domain class is not validated
temp.each {
println "validate" + it.validate()
println "has error" + it.hasErrors()
}
//in the above code block validate() is called, I don't want to do this.
//是否可以自动配置它并获得经过验证的对象。
我不想调用验证方法。 是否有任何方式或配置grails,以便域类自动验证。
请帮助我。
答案 0 :(得分:0)
Grails域类对象在保存之前得到验证。
在域模型中使用以下内容来设置验证规则:
static constraints = {
// whatever you want to validate
}
每当您保存对象时,它将通过您设置的约束进行验证。当对象在数据库中持久化时,它总是被验证。
答案 1 :(得分:0)
您需要做的就是在约束闭包中定义所有验证。 e.g。
static constraints = {
id maxLength: 5
//etc...
}
在保存对象时你只需要检查对象是否有效!它将返回true / false。 看这个: click here