2014-03-28 35 views
1

当Grails中删除一个实例,我可以执行Grails验证delete()操作?

def user = User.get(1) 
user.delete(flush: true) 

对于一个实例,我可以确认,如果保存操作会成功:

user.validate() 

是否可以验证,如果删除()将在删除之前成功吗?

+3

如果你要删除一个实例,为什么你需要验证它? –

+0

我猜想的目的是检查是否有任何外键约束违反删除。只有我想到的方式在回答中提到,以检查是否有任何异常。 – dmahapatro

+0

请注意[Grails验证](https://grails.github.io/grails-doc/latest/guide/single.html#validation)只是一种执行* your *业务验证逻辑的方法。对于save()方法,这不是“空运行”。 – pyb

回答

1

我不认为有一种方法可以在Grails中“干运行”删除。你可以这样做:

try{ 
    user.delete(failOnError:true) 
} 
catch(e) { 
    //it didn't work, do something about it here 
}