Skip to content

Commit 512acd6

Browse files
committed
Add a fix for input-group of tw-bs
When you have a input-gruop in bootstrap3, the parent is matched incorrectly, beacuse bs3 now use a div for input group, and the parent should be the parent of these div. This is a little fix for that, check if parent has class "input-group", and get's the correct parent
1 parent 6eccf4f commit 512acd6

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

form-validator/jquery.form-validator.js

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,14 @@
1313

1414
var $window = $(window),
1515
_applyErrorStyle = function($elem, conf) {
16+
var $parent = $elem.parent();
1617
$elem
1718
.addClass(conf.errorElementClass)
18-
.removeClass('valid')
19-
.parent()
20-
.addClass('has-error')
21-
.removeClass('has-success'); // twitter bs
19+
.removeClass('valid');
20+
if($parent.hasClass("input-group")) $parent = $parent.parent();
21+
22+
$parent.addClass('has-error') .removeClass('has-success'); //twitter bs
23+
2224

2325
if(conf.borderColorOnError !== '') {
2426
$elem.css('border-color', conf.borderColorOnError);
@@ -27,19 +29,24 @@
2729
_removeErrorStyle = function($elem, conf) {
2830
$elem.each(function() {
2931
_setInlineErrorMessage($(this), '', conf, conf.errorMessagePosition);
32+
var $parent = $(this).parent();
33+
34+
if($parent.hasClass("input-group")) $parent = $parent.parent();
3035
$(this)
3136
.removeClass('valid')
3237
.removeClass(conf.errorElementClass)
33-
.css('border-color', '')
34-
.parent()
35-
.removeClass('has-error')
36-
.removeClass('has-success')
37-
.find('.'+conf.errorMessageClass) // remove inline error message
38-
.remove();
38+
.css('border-color', '');
39+
$parent
40+
.removeClass('has-error')
41+
.removeClass('has-success')
42+
.find('.'+conf.errorMessageClass) // remove inline error message
43+
.remove();
3944
});
4045
},
4146
_setInlineErrorMessage = function($input, mess, conf, $messageContainer) {
4247
var custom = _getInlineErrorElement($input);
48+
var $parent = $input.parent();
49+
if($parent.hasClass("input-group")) $parent = $parent.parent();
4350
if( custom ) {
4451
custom.innerHTML = mess;
4552
}
@@ -64,10 +71,10 @@
6471
}
6572
}
6673
else {
67-
var $mess = $input.parent().find('.'+conf.errorMessageClass+'.help-block');
74+
var $mess = $parent.find('.'+conf.errorMessageClass+'.help-block');
6875
if( $mess.length == 0 ) {
6976
$mess = $('<span></span>').addClass('help-block').addClass(conf.errorMessageClass);
70-
$mess.appendTo($input.parent());
77+
$mess.appendTo($parent);
7178
}
7279
$mess.html(mess);
7380
}

0 commit comments

Comments
 (0)