| 1234567891011 |
- /**
- * BootstrapValidate v0.1.0 (http://github.com/nghuuphuoc/bootstrapvalidate)
- *
- * 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){a.fn.bootstrapValidate=function(b){return this.each(function(){var c=a(this),d=c.data("bootstrapValidate");d||c.data("bootstrapValidate",d=new a.bootstrapValidator(this,b))})},a.bootstrapValidator=function(b,c){this.$form=a(b),this.options=a.extend({},a.bootstrapValidator.DEFAULT_OPTIONS,c),this.validate()},a.extend(a.bootstrapValidator,{DEFAULT_OPTIONS:{message:"This value is not valid",fields:null,iconClass:{valid:"icon-ok",invalid:"icon-remove"}},validator:{},prototype:{getForm:function(){return this.$form},validate:function(){if(null!=this.options.fields)for(var a in this.options.fields)this.validateField(a)},validateField:function(b){if(null!=this.options.fields[b]&&null!=this.options.fields[b].validator){var c=this.$form.find('[name="'+b+'"]');if(0!=c.length){var d=this,e=a(c[0]),f=a(e).attr("type"),g="checkbox"==f?"change":"keyup";a(e).on(g,function(){var c=d.options.fields[b].validator;for(var f in c)if(a.bootstrapValidator.validator[f]){var g=c[f];if(!a.bootstrapValidator.validator[f].validate(d,e,g)){d.showError(e,f);break}d.removeError(e)}}).blur(function(){d.hideError(e)})}}},showError:function(b,c){var d=a(b),e=d.attr("name"),f=this.options.fields[e].validator[c],g=f.message||this.options.message;if(!d.data("bootstrapValidator.tooltip")){var h=a("<a/>").attr("href","#").attr("title",g).attr("data-toggle","tooltip").attr("data-placement","right").css("text-decoration","none").css("position","absolute").insertAfter(b);a("<i/>").addClass(this.options.iconClass.invalid).appendTo(h),d.data("bootstrapValidator.tooltip",h),h.on("shown.bs.tooltip",function(){if(!a(this).data("bootstrapValidator.tooltip.calculated")){a(this).data("bootstrapValidator.tooltip.calculated",!0);var b=a(this).parent(),c=a(this).data("bs.tooltip").$tip,d=b.width(),e=b.height(),f=parseInt(c.width()),g=parseInt(c.height()),h=parseInt(c.css("left")),i=parseInt(c.css("top"));c.css("left",h+d+10).css("top",i-e+5).width(f),a(this).css("position","absolute").css("left",h-a(this).width()+d+5).css("top",i+g/2-a(this).height()/2-e+5)}})}d.parents(".form-group").removeClass("has-success").addClass("has-error");var i=d.data("bootstrapValidator.tooltip");i.find("i").attr("class",this.options.iconClass.invalid).end().attr("title",g).attr("data-original-title",g).tooltip("show")},hideError:function(b){(tip=a(b).data("bootstrapValidator.tooltip"))&&a(tip).tooltip("hide")},removeError:function(b){var c=a(b);c.parents(".form-group").removeClass("has-error").addClass("has-success"),(tip=c.data("bootstrapValidator.tooltip"))&&(a(tip).find("i").attr("class",this.options.iconClass.valid),a(tip).tooltip("destroy"),a(tip).remove(),c.removeData("bootstrapValidator.tooltip"))}}})}(window.jQuery),function(a){a.extend(a.bootstrapValidator.validator,{digits:{validate:function(b,c){return/^\d+$/.test(a(c).val())}}})}(window.jQuery),function(a){a.extend(a.bootstrapValidator.validator,{emailAddress:{validate:function(b,c){var d=a.trim(a(c).val()),e=/^(([^<>()[\]\\.,;:\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 e.test(d)}}})}(window.jQuery),function(a){a.extend(a.bootstrapValidator.validator,{identical:{validate:function(b,c,d){var e=a(c).val(),f=b.getForm().find('[name="'+d.field+'"]');return e==f.val()?(b.removeError(f),!0):!1}}})}(window.jQuery),function(a){a.extend(a.bootstrapValidator.validator,{notEmpty:{validate:function(b,c){var d=a(c),e=d.attr("type");return"checkbox"==e||"radio"==e?d.is(":checked"):""!=a.trim(a(c).val())}}})}(window.jQuery),function(a){a.extend(a.bootstrapValidator.validator,{regexp:{validate:function(b,c,d){var e=a.trim(a(c).val());return e.match(d.regexp)}}})}(window.jQuery),function(a){a.extend(a.bootstrapValidator.validator,{stringLength:{validate:function(b,c,d){var e=a.trim(a(c).val()),f=e.length;return d.min&&f<d.min||d.max&&f>d.max?!1:!0}}})}(window.jQuery),function(a){a.extend(a.bootstrapValidator.validator,{uri:{validate:function(b,c){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(a(c).val())}}})}(window.jQuery);
|