| 1234567891011 |
- /**
- * BootstrapValidator v0.3.0 (http://github.com/nghuuphuoc/bootstrapvalidator)
- *
- * A jQuery plugin to validate form fields. Use with Bootstrap 3
- *
- * @author Nguyen Huu Phuoc <phuoc@huuphuoc.me>
- * @copyright (c) 2013 Nguyen Huu Phuoc
- * @license MIT
- */
- !function(a){var b=function(c,d){this.$form=a(c),this.options=a.extend({},b.DEFAULT_OPTIONS,d),this._dfds={},this._invalidFields={},this._init()};b.DEFAULT_OPTIONS={elementClass:"bootstrap-validator-form",message:"This value is not valid",fields:null},b.prototype={constructor:b,_init:function(){if(null!=this.options.fields){var a=this;this.$form.attr("novalidate","novalidate").addClass(this.options.elementClass).on("submit",function(b){b.preventDefault(),a.validate()});for(var b in this.options.fields)this._initField(b)}},_initField:function(b){if(null!=this.options.fields[b]&&null!=this.options.fields[b].validators){this._dfds[b]={};var c=this.$form.find('[name="'+b+'"]');if(0==c.length)return delete this.options.fields[b],void delete this._dfds[b];var d=a(c[0]),e=d.parents(".form-group"),f=e.find(".help-block");if(0==f.length){var g=a("<small/>").addClass("help-block").css("display","none").appendTo(e);d.data("bootstrapValidator.error",g);var h,i,j,k;if(h=e.find("label").get(0)){if(i=a(h).attr("class")){i=i.split(" ");for(var l=0;l<i.length;l++)if(/^col-(xs|sm|md|lg)-\d+$/.test(i[l])){j=i[l].substr(7),k=i[l].substr(4,2);break}}}else if(i=e.children().eq(0).attr("class")){i=i.split(" ");for(var l=0;l<i.length;l++)if(/^col-(xs|sm|md|lg)-offset-\d+$/.test(i[l])){j=i[l].substr(14),k=i[l].substr(4,2);break}}k&&j&&g.addClass(["col-",k,"-offset-",j].join("")).addClass(["col-",k,"-",12-j].join(""))}else d.data("bootstrapValidator.error",f.eq(0))}},getFieldElements:function(a){var b=this.$form.find('[name="'+a+'"]');return 0==b.length?null:b},validate:function(){if(this._invalidFields={},this.options.fields)for(var a in this.options.fields)this.validateField(a)},validateField:function(b){var c,d,e=this,f=this.$form.find('[name="'+b+'"]'),g=a(f[0]),h=this.options.fields[b].validators;for(c in h){if(this._invalidFields[b])break;a.fn.bootstrapValidator.validators[c]?(this._dfds[b][c]&&this._dfds[b][c].reject(),d=a.fn.bootstrapValidator.validators[c].validate(this,g,h[c]),"object"==typeof d&&(this._dfds[b][c]=d),a.when(d).then(function(a){delete e._dfds[b][c],a?e.removeError(g):(e._invalidFields[b]=!0,e.showError(g,c))})):delete this.options.fields[b].validators[c]}},isValid:function(){var a,b;for(a in this._invalidFields)return!1;for(a in this._dfds)for(b in this._dfds[a])if("pending"==this._dfds[a][b].state())return!1;return!0},showError:function(a,b){var c=a.attr("name"),d=this.options.fields[c].validators[b],e=d.message||this.options.message;a.parents(".form-group").removeClass("has-success").addClass("has-error").end().data("bootstrapValidator.error").html(e).show()},removeError:function(a){a.parents(".form-group").removeClass("has-error").addClass("has-success").end().data("bootstrapValidator.error").hide()}},a.fn.bootstrapValidator=function(c){return this.each(function(){var d=a(this),e=d.data("bootstrapValidator");e||d.data("bootstrapValidator",new b(this,c))})},a.fn.bootstrapValidator.validators={},a.fn.bootstrapValidator.Constructor=b}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.between={validate:function(a,b,c){var d=b.val();return""==d?!0:(d=parseFloat(d),c.inclusive===!0?d>c.min&&d<c.max:d>=c.min&&d<=c.max)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.callback={validate:function(b,c,d){var e=c.val();if(d.callback&&"function"==typeof d.callback){var f=new a.Deferred;return f.resolve(d.callback.call(this,e,b)),f}return!0}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.creditCard={validate:function(a,b){var c=b.val();if(""==c)return!0;if(/[^0-9-\s]+/.test(c))return!1;c=c.replace(/\D/g,"");for(var d=0,e=0,f=!1,g=c.length,h=g-1;h>=0;h--)e=parseInt(c.charAt(h),10),f&&(e*=2)>9&&(e-=9),d+=e,f=!f;return d%10==0}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.different={validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e=a.getFieldElements(c.field);return null==e?!0:d!=e.val()?(a.removeError(e),!0):!1}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.digits={validate:function(a,b){var c=b.val();return""==c?!0:/^\d+$/.test(c)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.emailAddress={validate:function(a,b){var c=b.val();if(""==c)return!0;var d=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return d.test(c)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.greaterThan={validate:function(a,b,c){var d=b.val();return""==d?!0:(d=parseFloat(d),c.inclusive===!0?d>c.value:d>=c.value)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.hexColor={validate:function(a,b){var c=b.val();return""==c?!0:/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(c)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.identical={validate:function(a,b,c){var d=b.val();if(""==d)return!0;var e=a.getFieldElements(c.field);return null==e?!0:d==e.val()?(a.removeError(e),!0):!1}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.lessThan={validate:function(a,b,c){var d=b.val();return""==d?!0:(d=parseFloat(d),c.inclusive===!0?d<c.value:d<=c.value)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.notEmpty={validate:function(b,c){var d=c.attr("type");return"radio"==d||"checkbox"==d?b.getFieldElements(c.attr("name")).filter(":checked").length>0:""!=a.trim(c.val())}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.regexp={validate:function(a,b,c){var d=b.val();return""==d?!0:c.regexp.test(d)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.remote={validate:function(b,c,d){var e=c.val();if(""==e)return!0;var f=c.attr("name"),g=d.data;null==g&&(g={}),g[f]=e;var h=new a.Deferred,i=a.ajax({type:"POST",url:d.url,dataType:"json",data:g});return i.then(function(a){h.resolve(a.valid===!0||"true"===a.valid)}),h.fail(function(){i.abort()}),h}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.stringLength={validate:function(b,c,d){var e=c.val();if(""==e)return!0;var f=a.trim(e).length;return d.min&&f<d.min||d.max&&f>d.max?!1:!0}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.uri={validate:function(a,b){var c=b.val();if(""==c)return!0;var d=new RegExp("^(?:(?:https?|ftp)://)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!192\\.168(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:/[^\\s]*)?$","i");return d.test(c)}}}(window.jQuery),function(a){a.fn.bootstrapValidator.validators.usZipCode={validate:function(a,b){var c=b.val();return""==c?!0:/^\d{5}([\-]\d{4})?$/.test(c)}}}(window.jQuery);
|