0

我正在从数据库中获取结果列表,但在我为每个对象调用“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. 

// 是否可以自动配置它并且我得到验证的对象。

我不想调用 validate 方法。grails中是否有任何方法或配置可以自动验证域类。

请帮助我。

4

2 回答 2

0

您需要做的就是在约束闭包中定义所有验证。例如

    static constraints = {
                id maxLength: 5
                //etc...
}

在保存对象时,您只需要检查对象是否有效!,它将返回真/假。看这个:点击这里

于 2013-06-17T06:20:06.887 回答
0

Grails 域类对象在保存之前得到验证。

在您的域模型中使用以下内容来设置验证规则:

static constraints = {
   // whatever you want to validate
}

每当您保存一个对象时,它将通过您设置的约束进行验证。当对象在数据库中持久存在时,它始终是经过验证的。

于 2013-06-16T13:54:16.790 回答