OurCompanyというドメインオブジェクトがあり、ほとんどがnullでいっぱいの行を意図的に挿入できるようにしたいと思います。ただし、ユーザーがフォームに入力するときは、フォームを検証し、空白を許可しないようにします。
class OurCompany {
static constraints = {
enterpriseName blank:false, nullable:true
}
String enterpriseName
static belongsTo = [measurement:Measurement]
}
データベースに空の行を作成するとき、検証をオフにすると、正常に機能します。
ourCompany = new OurCompany();
measurement.addToOurCompany(ourCompany).save(validate:false);
後で行を更新すると、検証は無視され、null/空白の値があってもレコードが保存されます。
def ourCompany = loadOrCreateOurCompany();
def industrySectors = loadIndustrySectors();
bindData (ourCompany, params)
ourCompany.validate()
if (ourCompany.hasErrors()) {
ourCompany.errors.allErrors.each {
println(it)
}
} else {
ourCompany.save();
}
DATABASEでnullを受け入れたいが、検証時にnullまたは空白を許可しないことをgrailsに伝えるにはどうすればよいですか?