大家好:
又一個問題想請教大家
class CdApplicant {
Date birthday //(必填)
static constraints = {
birthday(blank:false,nullable:false) //(必填)
}
}
我有一個domain 裡面有一個birthday是一直要填值的
當我save()時 若沒有填值,就會丟一個flash.message 上面說 birthday 不能為null
cdApplicantInstance.properties = params
cdApplicantInstance.errors.rejectValue('birthday','自定錯誤訊息') //自已多加的
if ( !cdApplicantInstance.hasErrors() & cdApplicantInstance.save(flush: true)) {
flash.message = "${message(code: 'default.updated.message', args: [message(code: 'cdApplicant.label', default: 'CdApplicant'), cdApplicantInstance.name])}"
redirect(action: "list")
}
可是當我加了紅色那行自定錯誤訊息之後 就變成了
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Grails Runtime Exception
Error Details
Error 500: not-null property references a null or
transient value: CdApplicant.birthday; nested exception is
org.hibernate.PropertyValueException: not-null property references a
null or transient value: CdApplicant.birthday
Servlet: grails
URI: /child/grails/cdApplicant/update.dispatch
Exception Message: not-null property references a null or transient value: CdApplicant.birthday
Caused by: not-null property references a null or
transient value: CdApplicant.birthday; nested exception is
org.hibernate.PropertyValueException: not-null property references a
null or transient value: CdApplicant.birthday
Class: Unknown
At Line: [-1]
Code Snippet:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
雖然這個也是告訴我們brithday一定要填值,可以對user來說是一個系統壞掉的畫面
我以為會正常頁面會顯示「自定錯誤訊息』和『birthday一定要填值』
但卻直接變Error 500

