Skip to content

Commit 7c8cb74

Browse files
committed
Merge branch 'stevewasiura-patch-7'
2 parents 2b074de + 43dd56d commit 7c8cb74

File tree

1 file changed

+50
-48
lines changed

1 file changed

+50
-48
lines changed

form-validator/jquery.form-validator.js

Lines changed: 50 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@
1313

1414
var $window = $(window),
1515
_applyErrorStyle = function($elem, conf) {
16-
var $parent = $elem.parent();
1716
$elem
1817
.addClass(conf.errorElementClass)
1918
.removeClass('valid');
20-
if($parent.hasClass("input-group")) $parent = $parent.parent();
19+
var $parent = $elem.parent();
20+
if($parent.hasClass("input-group")) $parent = $parent.parent();
2121

22-
$parent.addClass('has-error') .removeClass('has-success'); //twitter bs
23-
22+
$parent
23+
.addClass(conf.inputParentClassOnError)
24+
.removeClass(conf.inputParentClassOnSuccess);
2425

2526
if(conf.borderColorOnError !== '') {
2627
$elem.css('border-color', conf.borderColorOnError);
@@ -29,24 +30,26 @@
2930
_removeErrorStyle = function($elem, conf) {
3031
$elem.each(function() {
3132
_setInlineErrorMessage($(this), '', conf, conf.errorMessagePosition);
32-
var $parent = $(this).parent();
3333

34-
if($parent.hasClass("input-group")) $parent = $parent.parent();
3534
$(this)
3635
.removeClass('valid')
3736
.removeClass(conf.errorElementClass)
3837
.css('border-color', '');
38+
39+
var $parent = $(this).parent();
40+
if($parent.hasClass("input-group"))
41+
$parent = $parent.parent();
42+
3943
$parent
40-
.removeClass('has-error')
41-
.removeClass('has-success')
42-
.find('.'+conf.errorMessageClass) // remove inline error message
44+
.removeClass(conf.inputParentClassOnError)
45+
.removeClass(conf.inputParentClassOnSuccess)
46+
.find('.'+conf.errorMessageClass) // remove inline span holding error message
4347
.remove();
4448
});
4549
},
4650
_setInlineErrorMessage = function($input, mess, conf, $messageContainer) {
4751
var custom = _getInlineErrorElement($input);
48-
var $parent = $input.parent();
49-
if($parent.hasClass("input-group")) $parent = $parent.parent();
52+
5053
if( custom ) {
5154
custom.innerHTML = mess;
5255
}
@@ -71,6 +74,8 @@
7174
}
7275
}
7376
else {
77+
var $parent = $input.parent();
78+
if($parent.hasClass("input-group")) $parent = $parent.parent();
7479
var $mess = $parent.find('.'+conf.errorMessageClass+'.help-block');
7580
if( $mess.length == 0 ) {
7681
$mess = $('<span></span>').addClass('help-block').addClass(conf.errorMessageClass);
@@ -236,7 +241,8 @@
236241
$elem
237242
.addClass('valid')
238243
.parent()
239-
.addClass('has-success'); // twitter bs
244+
.addClass(conf.inputParentClassOnSuccess);
245+
240246
} else if(validation !== null) {
241247

242248
_applyErrorStyle($elem, conf);
@@ -351,42 +357,36 @@
351357

352358
// Validate element values
353359
$form.find('input,textarea,select').filter(':not([type="submit"],[type="button"])').each(function() {
354-
var $elem = $(this);
355-
var elementType = $elem.attr('type');
356-
var elementName = $elem.attr('name');
357-
if (!ignoreInput(elementName, elementType)) {
358-
359-
// do not recheck multiple elements with same name, i.e. checkboxes, radios
360-
if ($.inArray(elementName, checkedInputs) < 0 ) {
361-
checkedInputs.push(elementName);
362-
363-
var validation = $.formUtils.validateInput(
364-
$elem,
365-
language,
366-
conf,
367-
$form,
368-
'submit'
369-
);
370-
371-
// Run element validation callback
372-
if( typeof conf.onElementValidate == 'function' ) {
373-
conf.onElementValidate((validation === true), $elem, $form, validation);
374-
}
375-
376-
if(validation !== true) {
377-
addErrorMessage(validation, $elem);
378-
} else {
379-
$elem
380-
.valAttr('current-error', false)
381-
.addClass('valid')
382-
.parent()
383-
.addClass('has-success');
384-
}
385-
386-
}
387-
388-
}
360+
var $elem = $(this),
361+
elementType = $elem.attr('type'),
362+
elementName = $elem.attr('name');
363+
364+
if (!ignoreInput(elementName, elementType) && $.inArray(elementName, checkedInputs) < 0 ) {
365+
366+
checkedInputs.push(elementName);
367+
var validation = $.formUtils.validateInput(
368+
$elem,
369+
language,
370+
conf,
371+
$form,
372+
'submit'
373+
);
374+
375+
// Run element validation callback
376+
if( typeof conf.onElementValidate == 'function' ) {
377+
conf.onElementValidate((validation === true), $elem, $form, validation);
378+
}
389379

380+
if(validation !== true) {
381+
addErrorMessage(validation, $elem);
382+
} else {
383+
$elem
384+
.valAttr('current-error', false)
385+
.addClass('valid')
386+
.parent()
387+
.addClass('has-success');
388+
}
389+
}
390390
});
391391

392392
// Run validation callback
@@ -632,7 +632,9 @@
632632
scrollToTopOnError : true,
633633
dateFormat : 'yyyy-mm-dd',
634634
addValidClassOnAll : false, // whether or not to apply class="valid" even if the input wasn't validated
635-
decimalSeparator : '.'
635+
decimalSeparator : '.',
636+
inputParentClassOnError : 'has-error', // twitter-bootstrap default class name
637+
inputParentClassOnSuccess : 'has-success' // twitter-bootstrap default class name
636638
}
637639
},
638640

0 commit comments

Comments
 (0)