Skip to content

Commit 582d331

Browse files
GRAILS-7031 - improve the handling of the default attribute on the g:message tag. specifically, if the default value was an empty string it wasn't being respected.
1 parent f3aec2f commit 582d331

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/java/org/codehaus/groovy/grails/plugins/web/taglib/ValidationTagLib.groovy

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,12 @@ class ValidationTagLib {
283283
else if (attrs.code) {
284284
def code = attrs.code
285285
def args = attrs.args
286-
def defaultMessage = attrs['default'] ?: code
286+
def defaultMessage
287+
if(attrs.containsKey('default')) {
288+
defaultMessage = attrs['default']
289+
} else {
290+
defaultMessage = code
291+
}
287292

288293
def message = messageSource.getMessage(code, args == null ? null : args.toArray(),
289294
defaultMessage, locale)

src/test/org/codehaus/groovy/grails/web/taglib/ValidationTagLibTests.groovy

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,6 +379,11 @@ enum Title implements org.springframework.context.MessageSourceResolvable {
379379

380380
assertOutputEquals("The Default Message", template, [message: resolvable])
381381
}
382+
383+
void testDefaultMessageAttribute() {
384+
def template = '<g:message code="my.message.code" default=""/>'
385+
assertOutputEquals "", template
386+
}
382387

383388
void testFieldValueTagWithMessageSourceResolvablePropertyUsesDefaultMessage() {
384389
def Title = ga.getClassForName("Title")

0 commit comments

Comments
 (0)