|
57 | 57 | help = $element.attr(attrName);
|
58 | 58 |
|
59 | 59 | if(help) {
|
| 60 | + var $parent = $element.parent(); |
| 61 | + var $help = $element.parent().find('.'+className); |
| 62 | + // Twitter bs |
| 63 | + if ($parent.hasClass('input-group')){ |
| 64 | + $parent = $parent.parent(); |
| 65 | + $help = $parent.find('.'+className); |
| 66 | + } |
| 67 | + |
| 68 | + if($help.length == 0) { |
| 69 | + $help = $('<span />') |
| 70 | + .addClass(className) |
| 71 | + .addClass('help-block') // twitter bs |
| 72 | + .text(help) |
| 73 | + .hide(); |
| 74 | + } |
| 75 | + |
60 | 76 | $element
|
61 | 77 | .addClass('has-help-txt')
|
62 | 78 | .bind('focus.validation', function() {
|
63 |
| - var $help = $element.parent().find('.'+className); |
64 |
| - if($help.length == 0) { |
65 |
| - $help = $('<span />') |
66 |
| - .addClass(className) |
67 |
| - .addClass('help-block') // twitter bs |
68 |
| - .text(help) |
69 |
| - .hide(); |
70 |
| - |
71 |
| - $element.after($help); |
72 |
| - |
73 |
| - } |
| 79 | + $parent.append($help); |
74 | 80 | $help.fadeIn();
|
75 | 81 | })
|
76 | 82 | .bind('blur.validation', function() {
|
77 |
| - $(this) |
78 |
| - .parent() |
79 |
| - .find('.'+className) |
80 |
| - .fadeOut('slow'); |
| 83 | + $help.fadeOut('slow'); |
81 | 84 | });
|
82 | 85 | }
|
83 | 86 | });
|
|
114 | 117 | $form = $element.closest("form"),
|
115 | 118 |
|
116 | 119 | validationRule = $element.attr(config.validationRuleAttribute);
|
117 |
| - |
| 120 | + |
| 121 | + var $parent = $element.parent(); |
| 122 | + // Twitter bs |
| 123 | + if ($parent.hasClass('input-group')){ |
| 124 | + var $parent = $parent.parent(); |
| 125 | + } |
| 126 | + |
118 | 127 | // Remove possible error style applied by previous validation
|
119 | 128 | $element
|
120 | 129 | .removeClass(config.errorElementClass)
|
121 |
| - .css('border-color', '') |
122 |
| - .parent() |
123 |
| - .find('.'+config.errorMessageClass).remove(); |
| 130 | + .css('border-color', ''); |
| 131 | + $parent |
| 132 | + .find('.'+config.errorMessageClass).remove(); |
124 | 133 |
|
125 | 134 | // Twitter bs
|
126 | 135 | $form.find('.has-error').removeClass('has-error');
|
127 |
| - $element.removeClass('valid').parent().removeClass('has-success'); |
| 136 | + $element.removeClass('valid'); |
| 137 | + $parent.removeClass('has-success'); |
128 | 138 |
|
129 | 139 | // if element has custom err msg container, clear it
|
130 | 140 | if( elementErrMsgObj != null) {
|
|
137 | 147 |
|
138 | 148 | if(validation === true) {
|
139 | 149 | $element
|
140 |
| - .addClass('valid') |
141 |
| - .parent() |
142 |
| - .addClass('has-success'); // twitter bs |
| 150 | + .addClass('valid'); |
| 151 | + |
| 152 | + $parent |
| 153 | + .addClass('has-success'); // twitter bs |
143 | 154 | } else if(validation === null) {
|
144 | 155 | $element
|
145 |
| - .removeClass('valid') |
146 |
| - .parent() |
147 |
| - .removeClass('has-error') |
148 |
| - .removeClass('has-success'); |
| 156 | + .removeClass('valid'); |
| 157 | + |
| 158 | + $parent |
| 159 | + .removeClass('has-error') |
| 160 | + .removeClass('has-success'); // twitter bs |
149 | 161 | } else {
|
150 | 162 | $element
|
151 | 163 | .addClass(config.errorElementClass)
|
152 |
| - .removeClass('valid') |
153 |
| - .parent() |
154 |
| - .addClass('has-error') |
155 |
| - .removeClass('has-success'); // twitter bs |
| 164 | + .removeClass('valid'); |
| 165 | + |
| 166 | + $parent |
| 167 | + .addClass('has-error') |
| 168 | + .removeClass('has-success'); // twitter bs |
156 | 169 |
|
157 | 170 | // if element has custom err msg container, use it
|
158 | 171 | if( elementErrMsgObj != null) {
|
159 | 172 | elementErrMsgObj.innerHTML = validation;
|
160 | 173 | } else { // use regular span append
|
161 |
| - var $parent = $element.parent(); |
162 | 174 | $parent.append('<span class="'+config.errorMessageClass+' help-block">'+validation+'</span>');
|
163 | 175 | $parent.addClass('has-error'); // twitter bs
|
164 | 176 | }
|
|
0 commit comments