|
16 | 16 | * @return {jQuery}
|
17 | 17 | */
|
18 | 18 | $.fn.validateOnBlur = function (language, conf) {
|
19 |
| - this.find('*[data-validation]') |
20 |
| - .bind('blur.validation', function () { |
21 |
| - $(this).validateInputOnBlur(language, conf, true, 'blur'); |
22 |
| - }); |
| 19 | + var $form = this, |
| 20 | + $elems = this.find('*[data-validation]'); |
| 21 | + |
| 22 | + $elems.each(function(){ |
| 23 | + var $this = $(this); |
| 24 | + if ($this.is('[type=radio]')){ |
| 25 | + var $additionals = $form.find('[type=radio][name="' + $this.attr('name') + '"]'); |
| 26 | + $additionals.bind('blur.validation', function(){ |
| 27 | + $this.validateInputOnBlur(language, conf, true, 'blur'); |
| 28 | + }); |
| 29 | + if (conf.validateCheckboxRadioOnClick) { |
| 30 | + $additionals.bind('click.validation', function () { |
| 31 | + $this.validateInputOnBlur(language, conf, true, 'click'); |
| 32 | + }); |
| 33 | + } |
| 34 | + } |
| 35 | + }); |
| 36 | + |
| 37 | + $elems.bind('blur.validation', function () { |
| 38 | + $(this).validateInputOnBlur(language, conf, true, 'blur'); |
| 39 | + }); |
| 40 | + |
23 | 41 | if (conf.validateCheckboxRadioOnClick) {
|
24 | 42 | // bind click event to validate on click for radio & checkboxes for nice UX
|
25 | 43 | this.find('input[type=checkbox][data-validation],input[type=radio][data-validation]')
|
|
0 commit comments