diff --git a/src/core.js b/src/core.js index 776d3647c..806694c69 100644 --- a/src/core.js +++ b/src/core.js @@ -608,9 +608,10 @@ $.extend($.validator, { // return the custom message for the given element and validation method // specified in the element's HTML5 data attribute + // return the generic message if present and no method specific message is present customDataMessage: function( element, method ) { - return $( element ).data( "msg" + method[ 0 ].toUpperCase() + method.substring( 1 ).toLowerCase() ); - + return $( element ).data( "msg" + method[ 0 ].toUpperCase() + + method.substring( 1 ).toLowerCase() ) || $( element ).data("msg"); }, // return the custom message for the given element name and validation method diff --git a/test/index.html b/test/index.html index b2f5d8249..f47e8d4eb 100644 --- a/test/index.html +++ b/test/index.html @@ -137,6 +137,7 @@

+
diff --git a/test/messages.js b/test/messages.js index ae7715cc7..7ee827234 100644 --- a/test/messages.js +++ b/test/messages.js @@ -44,9 +44,15 @@ test("read messages from metadata", function() { form.validate(); var e = $("#testEmail9"); e.valid(); - equal( form.find("label").text(), "required" ); + equal( form.find("label[for=testEmail9]").text(), "required" ); e.val("bla").valid(); - equal( form.find("label").text(), "email" ); + equal( form.find("label[for=testEmail9]").text(), "email" ); + + var g = $("#testGeneric9"); + g.valid(); + equal( form.find("label[for=testGeneric9]").text(), "generic"); + g.val("bla").valid(); + equal( form.find("label[for=testGeneric9]").text(), "email" ); });