-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathform-validation.min.js
8 lines (8 loc) · 1.72 KB
/
form-validation.min.js
1
2
3
4
5
6
7
8
/*
* form-validation
* https://github.com/Ruk33/form-validation
*/
var __formValidation={forms:{},inputs:{},validations:{equal:function(a,b){return"object"===typeof b.value?__formValidation.inputs[a].input.val()==b.value.val():__formValidation.inputs[a].input.val()==b.value},lessThan:function(a,b){return __formValidation.inputs[a].input.val().parseInt()<b.value},greaterThan:function(a,b){return __formValidation.inputs[a].input.val().parseInt()>b.value},minLength:function(a,b){return __formValidation.inputs[a].input.val().length>=b.value},maxLength:function(a,b){return __formValidation.inputs[a].input.val().length<=
b.value},regularExpression:function(a,b){return b.value.test(__formValidation.inputs[a].input.val())},email:function(a){return __formValidation.validations.regularExpression(a,{value:/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/})}},validate:function(a,b){var c=!0,d;__formValidation.inputs[a]||(__formValidation.inputs[a]={input:$("#"+a),errorDiv:$("#error-"+a)});if(d=__formValidation.inputs[a].errorDiv)d.hide(),d.children().remove();for(var e in b)__formValidation.validations[e](a,
b[e])||(d&&(b[e].message&&d.append("<div>"+b[e].message+"</div>"),d.show()),c=!1);return c},validateAllInputs:function(a){var b=!0,c;for(c in a)__formValidation.validate(c,a[c])||(b=!1);return b}},addCustomFormValidation=function(a,b){__formValidation.validations[a]=function(a,d){return b(__formValidation.inputs[a].input,d)}};
jQuery.prototype.setValidationRules=function(a,b){var c=this.attr("id");__formValidation.forms[c]||(__formValidation.forms[c]={form:this,data:a,fn:b},this.on("submit",function(a){var b=__formValidation.forms[$(this).attr("id")];__formValidation.validateAllInputs(b.data)?b.fn(a):a.preventDefault()}))};