Skip to content

Commit cd62c48

Browse files
committed
working on div contianer validation
1 parent 7c5b055 commit cd62c48

File tree

1 file changed

+18
-28
lines changed

1 file changed

+18
-28
lines changed

js/jquery.validationEngine.js

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,6 @@
4242
*/
4343
attach: function(userOptions) {
4444

45-
if(!$(this).is("form")) {
46-
console.log("Sorry, jqv.attach() only applies to a form");
47-
return this;
48-
}
49-
5045
var form = this;
5146
var options;
5247

@@ -80,11 +75,6 @@
8075
* Unregisters any bindings that may point to jQuery.validaitonEngine
8176
*/
8277
detach: function() {
83-
84-
if(!$(this).is("form")) {
85-
alert("Sorry, jqv.detach() only applies to a form");
86-
return this;
87-
}
8878

8979
var form = this;
9080
var options = form.data('jqv');
@@ -117,10 +107,10 @@
117107
validate: function() {
118108
var element = $(this);
119109
var valid = null;
120-
if(element.is("form") && !element.hasClass('validating')) {
110+
if((element.is("form") || element.hasClass(".validationEngineContainer")) && !element.hasClass('validating')) {
121111
element.addClass('validating');
122112
var options = element.data('jqv');
123-
valid = methods._validateFields(this);
113+
var valid = methods._validateFields(this);
124114

125115
// If the form doesn't validate, clear the 'validating' class before the user has a chance to submit again
126116
setTimeout(function(){
@@ -131,13 +121,13 @@
131121
} else if (!valid && options.onFailure) {
132122
options.onFailure();
133123
}
134-
} else if (element.is('form')) {
124+
} else if (element.is('form') || element.hasClass('.validationEngineContainer')) {
135125
element.removeClass('validating');
136126
} else {
137127
// field validation
138-
var form = element.closest('form');
139-
var options = (form.data('jqv')) ? form.data('jqv') : $.validationEngine.defaults;
140-
valid = methods._validateField(element, options);
128+
var form = element.closest('form, .validationEngineContainer'),
129+
options = (form.data('jqv')) ? form.data('jqv') : $.validationEngine.defaults,
130+
valid = methods._validateField(element, options);
141131

142132
if (valid && options.onFieldSuccess)
143133
options.onFieldSuccess();
@@ -161,7 +151,7 @@
161151
var noAnimation = event.data.noAnimation;
162152
}
163153
else
164-
var form = $(this.closest('form'));
154+
var form = $(this.closest('form, .validationEngineContainer'));
165155

166156
var options = form.data('jqv');
167157
// No option, take default one
@@ -186,7 +176,7 @@
186176
* @param {String} possible values topLeft, topRight, bottomLeft, centerRight, bottomRight
187177
*/
188178
showPrompt: function(promptText, type, promptPosition, showArrow) {
189-
var form = this.closest('form');
179+
var form = this.closest('form, .validationEngineContainer');
190180
var options = form.data('jqv');
191181
// No option, take default one
192182
if(!options)
@@ -202,12 +192,12 @@
202192
* Closes form error prompts, CAN be invidual
203193
*/
204194
hide: function() {
205-
var form = $(this).closest('form');
195+
var form = $(this).closest('form, .validationEngineContainer');
206196
var options = form.data('jqv');
207197
var fadeDuration = (options && options.fadeDuration) ? options.fadeDuration : 0.3;
208198
var closingtag;
209199

210-
if($(this).is("form")) {
200+
if($(this).is("form") || $(this).hasClass("validationEngineContainer")) {
211201
closingtag = "parentForm"+methods._getClassName($(this).attr("id"));
212202
} else {
213203
closingtag = methods._getClassName($(this).attr("id")) +"formError";
@@ -238,7 +228,7 @@
238228
*/
239229
_onFieldEvent: function(event) {
240230
var field = $(this);
241-
var form = field.closest('form');
231+
var form = field.closest('form, .validationEngineContainer');
242232
var options = form.data('jqv');
243233
options.eventTrigger = "field";
244234
// validate the current field
@@ -540,7 +530,7 @@
540530
limitErrors = true;
541531
}
542532

543-
var form = $(field.closest("form"));
533+
var form = $(field.closest("form, .validationEngineContainer"));
544534
// Fix for adding spaces in the rules
545535
for (var i = 0; i < rules.length; i++) {
546536
rules[i] = rules[i].replace(" ", "");
@@ -915,7 +905,7 @@
915905
break;
916906
}
917907
// old validation style
918-
var form = field.closest("form");
908+
var form = field.closest("form, .validationEngineContainer");
919909
var name = field.attr("name");
920910
if (form.find("input[name='" + name + "']:checked").size() == 0) {
921911
if (form.find("input[name='" + name + "']:visible").size() == 1)
@@ -940,7 +930,7 @@
940930
var classGroup = "["+options.validateAttribute+"*=" +rules[i + 1] +"]";
941931
var isValid = false;
942932
// Check all fields from the group
943-
field.closest("form").find(classGroup).each(function(){
933+
field.closest("form, .validationEngineContainer").find(classGroup).each(function(){
944934
if(!methods._required($(this), rules, i, options)){
945935
isValid = true;
946936
return false;
@@ -1367,7 +1357,7 @@
13671357
for (var i = 0; i < domIds.length; i++) {
13681358
var id = domIds[i];
13691359
if ($(id).length) {
1370-
var inputValue = field.closest("form").find(id).val();
1360+
var inputValue = field.closest("form, .validationEngineContainer").find(id).val();
13711361
var keyValue = id.replace('#', '') + '=' + escape(inputValue);
13721362
data[id.replace('#', '')] = inputValue;
13731363
}
@@ -1529,7 +1519,7 @@
15291519
var prompt = $('<div>');
15301520
prompt.addClass(methods._getClassName(field.attr("id")) + "formError");
15311521
// add a class name to identify the parent form of the prompt
1532-
prompt.addClass("parentForm"+methods._getClassName(field.parents('form').attr("id")));
1522+
prompt.addClass("parentForm"+methods._getClassName(field.closest('form, .validationEngineContainer').attr("id")));
15331523
prompt.addClass("formError");
15341524

15351525
switch (type) {
@@ -1685,7 +1675,7 @@
16851675
* @return undefined or the error prompt (jqObject)
16861676
*/
16871677
_getPrompt: function(field) {
1688-
var formId = $(field).closest('form').attr('id');
1678+
var formId = $(field).closest('form, .validationEngineContainer').attr('id');
16891679
var className = methods._getClassName(field.attr("id")) + "formError";
16901680
var match = $("." + methods._escapeExpression(className) + '.parentForm' + formId)[0];
16911681
if (match)
@@ -1906,7 +1896,7 @@
19061896

19071897
_submitButtonClick: function(event) {
19081898
var button = $(this);
1909-
var form = button.closest('form');
1899+
var form = button.closest('form, .validationEngineContainer');
19101900
form.data("jqv_submitButton", button.attr("id"));
19111901
}
19121902
};

0 commit comments

Comments
 (0)