Skip to content

Commit 6df33a8

Browse files
mlynchjzaefferer
authored andcommitted
Remove support for metadata plugin, replace with data-rule- and data-msg- (added in 907467e) properties.
1 parent 5ec962e commit 6df33a8

File tree

7 files changed

+54
-200
lines changed

7 files changed

+54
-200
lines changed

demo/custom-messages-metadata-demo.html renamed to demo/custom-messages-data-demo.html

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,16 @@
88

99
<script src="../lib/jquery.js" type="text/javascript"></script>
1010
<script src="../jquery.validate.js" type="text/javascript"></script>
11-
<script src="../lib/jquery.metadata.js" type="text/javascript"></script>
1211

1312
<script type="text/javascript">
1413
$(document).ready(function() {
15-
$("#commentForm").validate({meta: "validate"});
16-
$("#commentForm2").validate();
17-
$("#commentForm3").validate({
14+
$("#commentForm").validate();
15+
$("#commentForm2").validate({
1816
messages: {
1917
email: {
2018
required: 'Enter this!'
2119
}
22-
}
20+
}
2321
});
2422

2523
});
@@ -28,54 +26,41 @@
2826
<style type="text/css">
2927
form { width: 500px; }
3028
form label { width: 250px; }
31-
form label.error,
29+
form label.error,
3230
form input.submit { margin-left: 253px; }
3331
</style>
3432

3533
</head>
3634
<body>
37-
35+
3836
<h1 id="banner"><a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/">jQuery Validation Plugin</a> Demo</h1>
3937
<div id="main">
4038

41-
<p>Take a look at the source to see how messages can be customized with metadata.</p>
39+
<p>Take a look at the source to see how messages can be customized with metadata.</p>
4240

43-
<!-- Custom messages with custom "meta" setting -->
41+
<!-- Custom rules and messages via data- attributes -->
4442
<form class="cmxform" id="commentForm" method="post" action="">
4543
<fieldset>
4644
<legend>Please enter your email address</legend>
4745
<p>
4846

4947
<label for="cemail">E-Mail *</label>
50-
<input id="cemail" name="email" class="{validate:{required:true, email:true, messages:{required:'Please enter your email address', email:'Please enter a valid email address'}}}"/>
48+
<input id="cemail" name="email" data-rule-required="true" data-rule-email="true" data-msg-required="Please enter your email address" data-msg-email="Please enter a valid email address" />
5149
</p>
5250
<p>
5351
<input class="submit" type="submit" value="Submit"/>
5452
</p>
5553
</fieldset>
5654
</form>
57-
<!-- Custom messages with default "meta" setting -->
58-
<form class="cmxform" id="commentForm2" method="post" action="">
59-
<fieldset>
60-
<legend>Please enter your email address</legend>
61-
<p>
6255

63-
<label for="cemail">E-Mail *</label>
64-
<input id="cemail" name="email" class="{required:true, email:true, messages:{required:'Please enter your email address', email:'Please enter a valid email address'}}"/>
65-
</p>
66-
<p>
67-
<input class="submit" type="submit" value="Submit"/>
68-
</p>
69-
</fieldset>
70-
</form>
7156
<!-- Custom message for "required" in metadata is overriden by a validate option -->
72-
<form class="cmxform" id="commentForm3" method="post" action="">
57+
<form class="cmxform" id="commentForm2" method="post" action="">
7358
<fieldset>
7459
<legend>Please enter your email address</legend>
7560
<p>
7661

7762
<label for="cemail">E-Mail *</label>
78-
<input id="cemail" name="email" class="{required:true, email:true, messages:{email:'Please enter a valid email address'}}"/>
63+
<input id="cemail" name="email" data-rule-required="true" data-rule-email="true" data-msg-email="Please enter a valid email address" />
7964
</p>
8065
<p>
8166
<input class="submit" type="submit" value="Submit"/>
@@ -85,8 +70,5 @@ <h1 id="banner"><a href="http://bassistance.de/jquery-plugins/jquery-plugin-vali
8570

8671
<a href="index.html">Back to main page</a>
8772

88-
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
89-
<script type="text/javascript">_uacct = "UA-2623402-1";urchinTracker();</script>
90-
9173
</body>
9274
</html>

demo/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ <h1 id="banner"><a href="http://bassistance.de/jquery-plugins/jquery-plugin-vali
198198
<h3>Syntetic examples</h3>
199199
<ul>
200200
<li><a href="errorcontainer-demo.html">Error message containers in action</a></li>
201-
<li><a href="custom-messages-metadata-demo.html">Custom Messages as Metadata</a></li>
201+
<li><a href="custom-messages-data-demo.html">Custom Messages as Element Data</a></li>
202202
<li><a href="radio-checkbox-select-demo.html">Radio and checkbox buttons and selects</a></li>
203203
<li><a href="ajaxSubmit-intergration-demo.html">Integration with Form Plugin (AJAX submit)</a></li>
204204
<li><a href="custom-methods-demo.html">Custom methods and message display.</a></li>

jquery.validate.js

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,9 @@ $.extend($.fn, {
148148
var data = $.validator.normalizeRules(
149149
$.extend(
150150
{},
151-
$.validator.metadataRules(element),
152151
$.validator.classRules(element),
153152
$.validator.attributeRules(element),
153+
$.validator.dataRules(element),
154154
$.validator.staticRules(element)
155155
), element);
156156

@@ -571,16 +571,6 @@ $.extend($.validator, {
571571
return true;
572572
},
573573

574-
// return the custom message for the given element and validation method
575-
// specified in the element's "messages" metadata
576-
customMetaMessage: function(element, method) {
577-
if (!$.metadata) {
578-
return;
579-
}
580-
var meta = this.settings.meta ? $(element).metadata()[this.settings.meta] : $(element).metadata();
581-
return meta && meta.messages && meta.messages[method];
582-
},
583-
584574
// return the custom message for the given element and validation method
585575
// specified in the element's HTML5 data attribute
586576
customDataMessage: function(element, method) {
@@ -607,7 +597,6 @@ $.extend($.validator, {
607597
return this.findDefined(
608598
this.customMessage( element.name, method ),
609599
this.customDataMessage( element, method ),
610-
this.customMetaMessage( element, method ),
611600
// title is never undefined, so handle empty string as undefined
612601
!this.settings.ignoreTitle && element.title || undefined,
613602
$.validator.messages[method],
@@ -877,15 +866,16 @@ $.extend($.validator, {
877866
return rules;
878867
},
879868

880-
metadataRules: function(element) {
881-
if (!$.metadata) {
882-
return {};
869+
dataRules: function(element) {
870+
var method, value,
871+
rules = {}, $element = $(element);
872+
for (method in $.validator.methods) {
873+
value = $element.data('rule-' + method.toLowerCase());
874+
if (value !== undefined) {
875+
rules[method] = value;
876+
}
883877
}
884-
885-
var meta = $.data(element.form, 'validator').settings.meta;
886-
return meta ?
887-
$(element).metadata()[meta] :
888-
$(element).metadata();
878+
return rules;
889879
},
890880

891881
staticRules: function(element) {
@@ -935,8 +925,14 @@ $.extend($.validator, {
935925
}
936926
});
937927
$.each(['rangelength', 'range'], function() {
928+
var parts;
938929
if (rules[this]) {
939-
rules[this] = [Number(rules[this][0]), Number(rules[this][1])];
930+
if ($.isArray(rules[this])) {
931+
rules[this] = [Number(rules[this][0]), Number(rules[this][1])];
932+
} else if (typeof rules[this] === 'string') {
933+
parts = rules[this].split(/[\s,]+/);
934+
rules[this] = [Number(parts[0]), Number(parts[1])];
935+
}
940936
}
941937
});
942938

@@ -954,11 +950,6 @@ $.extend($.validator, {
954950
}
955951
}
956952

957-
// To support custom messages in metadata ignore rule methods titled "messages"
958-
if (rules.messages) {
959-
delete rules.messages;
960-
}
961-
962953
return rules;
963954
},
964955

lib/jquery.metadata.js

Lines changed: 0 additions & 122 deletions
This file was deleted.

0 commit comments

Comments
 (0)