我有一个名为OurCompany的域对象,我希望能够故意插入一行大多数为空的行。但是,当用户填写表格时,我想对其进行验证,但不允许空白。
class OurCompany {
static constraints = {
enterpriseName blank:false, nullable:true
}
String enterpriseName
static belongsTo = [measurement:Measurement]
}
当我在数据库中创建空行时,我关闭了验证并且工作正常。
ourCompany = new OurCompany();
measurement.addToOurCompany(ourCompany).save(validate:false);
稍后,当我更新该行时,即使存在空/空白值,验证也将被忽略并且记录将保存。
def ourCompany = loadOrCreateOurCompany();
def industrySectors = loadIndustrySectors();
bindData (ourCompany, params)
ourCompany.validate()
if (ourCompany.hasErrors()) {
ourCompany.errors.allErrors.each {
println(it)
}
} else {
ourCompany.save();
}
如何告诉grails我希望数据库接受空值,但是在验证时不允许空值或空值?
最佳答案
那就是Command Objects的目的
关于validation - Grails:约束:数据库允许为空,但表格不能为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13867831/