|
70 | 70 | return this;
|
71 | 71 | };
|
72 | 72 |
|
| 73 | + /* |
| 74 | + * Assigns validateInputOnBlur function to elements custom event |
| 75 | + * @param {Object} language Optional, will override $.formUtils.LANG |
| 76 | + * @param {Object} settings Optional, will override the default settings |
| 77 | + * * @return {jQuery} |
| 78 | + */ |
| 79 | + $.fn.validateOnEvent = function(language, settings) { |
| 80 | + this.find('input[data-validation][data-validation-event],textarea[data-validation][data-validation-event]') |
| 81 | + .each(function(){ |
| 82 | + var $el = $(this), |
| 83 | + etype = $el.attr("data-validation-event"); |
| 84 | + if (etype){ |
| 85 | + $el.bind(etype + ".validation", function(){ |
| 86 | + $(this).validateInputOnBlur(language, settings, false, etype); |
| 87 | + }); |
| 88 | + } |
| 89 | + }); |
| 90 | + return this; |
| 91 | + }; |
| 92 | + |
73 | 93 | /**
|
74 | 94 | * fade in help message when input gains focus
|
75 | 95 | * fade out when input loses focus
|
|
145 | 165 | if(!eventContext)
|
146 | 166 | eventContext = 'blur';
|
147 | 167 |
|
148 |
| - language = $.extend($.formUtils.LANG, language || {}); |
| 168 | + language = $.extend({}, $.formUtils.LANG, language || {}); |
149 | 169 | _removeErrorStyle(this, conf);
|
150 | 170 |
|
151 | 171 | var $elem = this,
|
|
209 | 229 | */
|
210 | 230 | $.fn.validateForm = function(language, conf) {
|
211 | 231 |
|
212 |
| - language = $.extend($.formUtils.LANG, language || {}); |
| 232 | + language = $.extend({}, $.formUtils.LANG, language || {}); |
213 | 233 |
|
214 | 234 | $.formUtils.isValidatingEntireForm = true;
|
215 | 235 | $.formUtils.haltValidation = false;
|
|
399 | 419 |
|
400 | 420 | var defaultConf = $.extend($.formUtils.defaultConfig(), {
|
401 | 421 | form : 'form',
|
| 422 | + /* |
| 423 | + * Enable custom event for validation |
| 424 | + */ |
| 425 | + validateOnEvent : true, |
402 | 426 | validateOnBlur : true,
|
403 | 427 | showHelpOnFocus : true,
|
404 | 428 | addSuggestions : true,
|
|
464 | 488 | if( conf.validateOnBlur ) {
|
465 | 489 | $form.validateOnBlur(conf.language, conf);
|
466 | 490 | }
|
| 491 | + if( conf.validateOnEvent ){ |
| 492 | + $form.validateOnEvent(conf.language, conf); |
| 493 | + } |
| 494 | + |
467 | 495 | });
|
468 | 496 |
|
469 | 497 | if( conf.modules != '' ) {
|
|
0 commit comments