如何为违反 Grails 域对象的约束设置自定义错误消息?
how to set custom error message for constraint violation of a grails domain object?
首先域名定义如下:
package com.abc.def
class EventDonation implements Serializable{
String title
String body
BigDecimal customDonationMin
BigDecimal customDonationMax
static constraints = {
title blank: false, nullable: false
body blank: false, nullable: false
customDonationMin min: BigDecimal.ZERO
}
}
视图页面中出现错误的部分如下:
<g:hasErrors bean="${donation}">
<g:eachError var="error" bean="${donation}">
<li><g:message error="${error}"/></li>
</g:eachError>
</g:hasErrors>
最后在message.properties
中添加的行如下:
com.abc.def.eventDonation.customDonationMin.min = Minimum limit cannot be less than 0
但是显示的错误是:
customDonationMin in class com.abc.def.EventDonation with value -10 is less than minimum value 0
您知道自定义错误消息未显示的原因吗?
原来是我使用了错误的消息代码。这是 min 属性.
的消息代码
className.propertyName.min.notmet
参考:http://grails.github.io/grails-doc/2.2.1/ref/Constraints/min.html
首先域名定义如下:
package com.abc.def
class EventDonation implements Serializable{
String title
String body
BigDecimal customDonationMin
BigDecimal customDonationMax
static constraints = {
title blank: false, nullable: false
body blank: false, nullable: false
customDonationMin min: BigDecimal.ZERO
}
}
视图页面中出现错误的部分如下:
<g:hasErrors bean="${donation}">
<g:eachError var="error" bean="${donation}">
<li><g:message error="${error}"/></li>
</g:eachError>
</g:hasErrors>
最后在message.properties
中添加的行如下:
com.abc.def.eventDonation.customDonationMin.min = Minimum limit cannot be less than 0
但是显示的错误是:
customDonationMin in class com.abc.def.EventDonation with value -10 is less than minimum value 0
您知道自定义错误消息未显示的原因吗?
原来是我使用了错误的消息代码。这是 min 属性.
的消息代码className.propertyName.min.notmet
参考:http://grails.github.io/grails-doc/2.2.1/ref/Constraints/min.html