├── .gitignore ├── .travis.yml ├── test ├── test-data │ ├── square100x100.png │ └── rectangle100x50.png ├── toggle-disabled.html └── logic.html ├── .npmignore ├── .jshintrc ├── .editorconfig ├── form-validator ├── jsconf.js ├── brazil.js ├── uk.js ├── poland.js ├── date.js ├── lang │ ├── ko.js │ ├── fa.js │ ├── vi.js │ ├── cs.js │ ├── da.js │ ├── no.js │ ├── ru.js │ ├── nl.js │ ├── ro.js │ ├── sv.js │ ├── fr.js │ ├── ca.js │ ├── pt.js │ ├── it.js │ ├── ar.js │ ├── de.js │ ├── ka.js │ ├── pl.js │ ├── es.js │ └── tr.js ├── toggleDisabled.js ├── logic.js ├── html5.js ├── color.js ├── sepa.js ├── sanitize.js ├── file.js ├── location.js └── sweden.js ├── bower.json ├── formvalidator.jquery.json ├── src ├── modules │ ├── jsconf.js │ ├── poland.js │ ├── date.js │ ├── brazil.js │ ├── uk.js │ ├── toggleDisabled.js │ ├── logic.js │ ├── sepa.js │ └── location.js ├── lang │ ├── vi.js │ ├── ko.js │ ├── cs.js │ ├── fa.js │ ├── no.js │ ├── nl.js │ ├── ru.js │ ├── da.js │ ├── sv.js │ ├── ro.js │ ├── ca.js │ ├── fr.js │ ├── pt.js │ ├── it.js │ ├── de.js │ ├── ka.js │ ├── ar.js │ ├── pl.js │ ├── es.js │ └── tr.js └── main │ ├── deprecated.js │ ├── module-loader.js │ ├── async.js │ └── setup.js └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | .idea/ 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "4.2.4" 4 | before_script: 5 | - npm install -g grunt-cli 6 | -------------------------------------------------------------------------------- /test/test-data/square100x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorjonsson/jQuery-Form-Validator/HEAD/test/test-data/square100x100.png -------------------------------------------------------------------------------- /test/test-data/rectangle100x50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/victorjonsson/jQuery-Form-Validator/HEAD/test/test-data/rectangle100x50.png -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | #Testing, not relevant to end user 2 | test/ 3 | .travis.yml 4 | .jshintrc 5 | 6 | #Not relevant to npm users 7 | bower.json 8 | 9 | #IDE 10 | .idea/ 11 | -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "eqeqeq": true, 5 | "eqnull": true, 6 | "expr": true, 7 | "immed": true, 8 | "noarg": true, 9 | "onevar": true, 10 | "quotmark": "single", 11 | "unused": true, 12 | "node": true 13 | } 14 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | indent_size = 2 8 | indent_style = space 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = true 12 | insert_final_newline = true 13 | -------------------------------------------------------------------------------- /form-validator/jsconf.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){"use strict";a.formUtils.registerLoadedModule("jsconf"),a.setupValidation=function(b){var c=a(b.form||"form");a.each(b.validate||b.validation||{},function(b,d){var e;e="#"===b[0]?a(b):"."===b[0]?c.find(b):c.find('*[name="'+b+'"]'),e.attr("data-validation",d.validation),a.each(d,function(a,b){"validation"!==a&&b!==!1&&(b===!0&&(b="true"),"_"===a[0]?(a=a.substring(1),b===!1?e.removeAttr(a):e.attr(a,b)):e.valAttr(a,b))})}),a.validate(b)}}(a)}); -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-form-validator", 3 | "homepage": "http://formvalidator.net/", 4 | "authors": [ 5 | "victorjonsson" 6 | ], 7 | "description": "With this feature rich jQuery plugin it becomes easy to validate user input while keeping your HTML markup clean from javascript code. Even though this plugin has a wide range of validation functions it's designed to require as little bandwidth as possible. This is achieved by grouping together validation functions in \"modules\", making it possible for the programmer to load only those functions that's needed to validate a particular form.", 8 | "main": "./form-validator/jquery.form-validator.min.js", 9 | "keywords": [ 10 | "form", 11 | "validator", 12 | "jquery" 13 | ], 14 | "dependencies": { 15 | "jquery": ">1.8.0" 16 | }, 17 | "license": "MIT", 18 | "ignore": [ 19 | "**/.*", 20 | "node_modules", 21 | "bower_components", 22 | "test", 23 | "tests" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /formvalidator.jquery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "formvalidator", 3 | "title": "jQuery Form Validator", 4 | "description": "This plugin makes it easy to validate user input while keeping your HTML markup clean from javascript code. Even though this plugin has a wide range of validation functions it's designed to require as little bandwidth as possible. This is achieved by grouping together validation functions in \"modules\", making it possible for the programmer to load only those functions that's needed to validate a particular form.", 5 | "keywords": [ 6 | "form", 7 | "validation", 8 | "validator" 9 | ], 10 | "version": "2.3.79", 11 | "author": { 12 | "name": "Victor Jonsson", 13 | "url": "http://victorjonsson.se", 14 | "email": "kontakt@victorjonsson.se" 15 | }, 16 | "homepage": "http://formvalidator.net", 17 | "demo": "http://formvalidator.net", 18 | "download": "http://formvalidator.net", 19 | "bugs": "https://github.com/victorjonsson/jQuery-Form-Validator/issues", 20 | "license": "MIT", 21 | "dependencies": { 22 | "jquery": ">=1.8" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /form-validator/brazil.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.formUtils.registerLoadedModule("brazil"),a.formUtils.addValidator({name:"cpf",validatorFunction:function(a){var b=a.replace(/\D/g,""),c=0,d=0,e=0,f=0;if(11!==b.length||"00000000000"===b)return!1;for(i=1;i<=9;i++)c+=parseInt(b.substring(i-1,i))*(11-i);if(e=10*c%11,e>=10&&(e=0),e!==parseInt(b.substring(9,10)))return!1;for(i=1;i<=10;i++)d+=parseInt(b.substring(i-1,i))*(12-i);return f=10*d%11,f>=10&&(f=0),f===parseInt(b.substring(10,11))},errorMessage:"",errorMessageKey:"badBrazilCPFAnswer"}),a.formUtils.addValidator({name:"brphone",validatorFunction:function(a){return!!a.match(/^(\+[\d]{1,3}[\s]{0,1}){0,1}(\(){0,1}(\d){2}(\)){0,1}(\s){0,1}(\d){4,5}([-. ]){0,1}(\d){4}$/g)},errorMessage:"",errorMessageKey:"badBrazilTelephoneAnswer"}),a.formUtils.addValidator({name:"cep",validatorFunction:function(a){return!!a.match(/^(\d){5}([-. ]){0,1}(\d){3}$/g)},errorMessage:"",errorMessageKey:"badBrazilCEPAnswer"})}(a)}); -------------------------------------------------------------------------------- /form-validator/uk.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){"use strict";a.formUtils.registerLoadedModule("uk"),a.formUtils.addValidator({name:"ukvatnumber",validatorFunction:function(a){if(a=a.replace(/[^0-9]/g,""),a.length<9)return!1;var b=!1,c=[];c=a.split("");var d=Number(c[7]+c[8]),e=c[0],f=c[1];if(0===e&&f>0)return!1;for(var g=0,h=0;h<7;h++)g+=c[h]*(8-h);for(var i=0,j=0,k=8;k>=2;k--)i+=c[j]*k,j++;for(;g>0;)g-=97;return g=Math.abs(g),d===g&&(b=!0),b||(g%=97,g>=55?g-=55:g+=42,g===d&&(b=!0)),b},errorMessage:"",errorMessageKey:"badUKVatAnswer"}),a.formUtils.addValidator({name:"ukutr",validatorFunction:function(a){var b=[0,6,7,8,9,10,5,4,3,2],c=[2,1,9,8,7,6,5,4,3,2,1],d=0;if(/\d{10}/.test(a)&&10===a.length){for(var e=0;e<10;e++)d+=a[e]*b[e];if(parseInt(a.charAt(0))===c[d%11])return!0}return!1},errorMessage:"",errorMessageKey:"badUkUtr"}),a.formUtils.addValidator({name:"uknin",validatorFunction:function(a){return!!/^(?!BG)(?!GB)(?!NK)(?!KN)(?!TN)(?!NT)(?!ZZ)(?:[A-CEGHJ-PR-TW-Z][A-CEGHJ-NPR-TW-Z])(?:\s*\d\s*){6}([A-D]|\s)$/i.test(a)},errorMessage:"",errorMessageKey:"badUkNin"})}(a)}); -------------------------------------------------------------------------------- /form-validator/poland.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.formUtils.registerLoadedModule("poland"),a.formUtils.addValidator({name:"plpesel",validatorFunction:function(a){var b=[1,3,7,9,1,3,7,9,1,3],c=0,d=0;if(/\d{11}/.test(a)&&11===a.length){for(var e=0;e<10;e++)c+=a[e]*b[e];if(c%10!==0&&(d=10-c%10),parseInt(a.charAt(10))===d)return!0}return!1},errorMessage:"",errorMessageKey:"badPlPesel"}),a.formUtils.addValidator({name:"plnip",validatorFunction:function(a){var b=[6,5,7,2,3,4,5,6,7],c=0;if(/\d{10}/.test(a)&&10===a.length){for(var d=0;d<9;d++)c+=a[d]*b[d];if(parseInt(a.charAt(9))===c%11)return!0}return!1},errorMessage:"",errorMessageKey:"badPlNip"}),a.formUtils.addValidator({name:"plregon",validatorFunction:function(a){var b=[8,9,2,3,4,5,6,7],c=[2,4,8,5,0,9,7,3,6,1,2,4,8],d=0,e=0;if(/(\d{14}|\d{9})/.test(a)&&(9===a.length||14===a.length)){for(var f=0;f<8;f++)d+=a[f]*b[f];if(d%11!==10&&(e=d%11),parseInt(a.charAt(8))===e){if(14!==a.length)return!0;for(d=0,f=0;f<13;f++)d+=a[f]*c[f];if(d%11!==10&&(e=d%11),parseInt(a.charAt(13))===e)return!0}}return!1},errorMessage:"",errorMessageKey:"badPlRegon"})}(a)}); -------------------------------------------------------------------------------- /form-validator/date.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){function b(a,b,d){var e=new Date(a,b,d),f=new Date,g=f.getFullYear()-e.getFullYear();e.setFullYear(e.getFullYear()+g),e>f&&(g--,e.setFullYear(e.getFullYear()-1));var h=Math.floor((f.getTime()-e.getTime())/864e5),i=g+h/(c(f.getFullYear())?366:365),j=((i+"").split(".")[1]||"").substr(0,3);return i>=0?Math.floor(i)+(j>=915?1:0):(j*=10,Math.floor(i)+(j<=840?1:0))}function c(a){var b=new Date(a,1,28);return b.setDate(b.getDate()+1),1===b.getMonth()}a.formUtils.registerLoadedModule("date"),a.formUtils.addValidator({name:"time",validatorFunction:function(a){if(null===a.match(/^(\d{2}):(\d{2})$/))return!1;var b=parseInt(a.split(":")[0],10),c=parseInt(a.split(":")[1],10);return!(b>23||c>59)},errorMessage:"",errorMessageKey:"badTime"}),a.formUtils.addValidator({name:"birthdate",validatorFunction:function(c,d,e){var f="yyyy-mm-dd";d.valAttr("format")?f=d.valAttr("format"):"undefined"!=typeof e.dateFormat&&(f=e.dateFormat);var g=a.formUtils.parseDate(c,f);if(!g)return!1;var h=g[0],i=g[1],j=g[2],k=b(h,i,j),l=(d.valAttr("age-range")||"0-124").split("-");if(d.trigger("ageCalculated",[k]),2!==l.length||!a.isNumeric(l[0])||!a.isNumeric(l[1]))throw new Error("Date range format invalid");return k>=l[0]&&k<=l[1]},errorMessage:"",errorMessageKey:"badDate"})}(a)}); -------------------------------------------------------------------------------- /src/modules/jsconf.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator Module: JSconf 3 | * ------------------------------------------ 4 | * Created by Victor Jonsson 5 | * 6 | * This module makes it possible to configure form validation using javascript 7 | * 8 | * @website http://formvalidator.net/#location-validators 9 | * @license MIT 10 | */ 11 | (function($) { 12 | 13 | 'use strict'; 14 | 15 | $.formUtils.registerLoadedModule('jsconf'); 16 | 17 | $.setupValidation = function(conf) { 18 | var $forms = $(conf.form || 'form'); 19 | $.each(conf.validate || conf.validation || {}, function(elemRef, attr) { 20 | var $elem; 21 | if ( elemRef[0] === '#' ) { 22 | $elem = $(elemRef); 23 | } 24 | else if ( elemRef[0] === '.' ) { 25 | $elem = $forms.find(elemRef); 26 | } 27 | else { 28 | $elem = $forms.find('*[name="' +elemRef+ '"]'); 29 | } 30 | 31 | $elem.attr('data-validation', attr.validation); 32 | 33 | $.each(attr, function(name, val) { 34 | if( name !== 'validation' && val !== false) { 35 | if( val === true ) { 36 | val = 'true'; 37 | } 38 | if( name[0] === '_' ) { 39 | name = name.substring(1); 40 | if( val === false ) { 41 | $elem.removeAttr(name); 42 | } else { 43 | $elem.attr(name, val); 44 | } 45 | } else { 46 | $elem.valAttr(name, val); 47 | } 48 | } 49 | }); 50 | }); 51 | 52 | $.validate(conf); 53 | 54 | }; 55 | 56 | })(jQuery); 57 | -------------------------------------------------------------------------------- /test/toggle-disabled.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Toggle Disabled Module 6 | 7 | 8 | 9 |
10 |
11 | 12 |
13 | 14 | 15 |
16 | 17 |
18 | 19 | 23 |
24 | 25 |
26 | 27 | 33 |
34 | 35 |
36 | 37 | 38 |
39 | 40 |
41 |
42 | 43 | 44 | 45 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-form-validator", 3 | "description": "With this feature rich jQuery plugin it becomes easy to validate user input while keeping your HTML markup clean from javascript code. Even though this plugin has a wide range of validation functions it's designed to require as little bandwidth as possible. This is achieved by grouping together validation functions in \"modules\", making it possible for the programmer to load only those functions that's needed to validate a particular form.", 4 | "version": "2.3.79", 5 | "main": "./form-validator/jquery.form-validator.min.js", 6 | "keywords": [ 7 | "form", 8 | "validator", 9 | "jquery" 10 | ], 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/victorjonsson/jQuery-Form-Validator.git" 14 | }, 15 | "bugs": { 16 | "url": "https://github.com/victorjonsson/jQuery-Form-Validator/issues" 17 | }, 18 | "author": { 19 | "name": "Victor Jonsson", 20 | "email": "kontakt@victorjonsson.se", 21 | "url": "http://victorjonsson.se" 22 | }, 23 | "homepage": "http://formvalidator.net/", 24 | "license": "MIT", 25 | "devDependencies": { 26 | "grunt": "~0.4.5", 27 | "grunt-cli": "~0.1.13", 28 | "grunt-contrib-clean": "~1.0.0", 29 | "grunt-contrib-concat": "^0.5.1", 30 | "grunt-contrib-connect": "^0.11.2", 31 | "grunt-contrib-copy": "~1.0.0", 32 | "grunt-contrib-cssmin": "~0.14.0", 33 | "grunt-contrib-jshint": "~1.0.0", 34 | "grunt-contrib-qunit": "^0.7.0", 35 | "grunt-contrib-uglify": "~0.11.1", 36 | "grunt-contrib-watch": "^0.6.1", 37 | "grunt-umd": "~2.4.0", 38 | "numeral": "~1.5.3", 39 | "qunitjs": "^1.20.0", 40 | "jquery": "2.2.4" 41 | }, 42 | "dependencies": { 43 | "jquery": "2.2.4" 44 | }, 45 | "scripts": { 46 | "prepublish": "grunt prepublish", 47 | "test": "grunt test" 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /form-validator/lang/ko.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/ko"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"이 양식은 보낼 수 없습니다!",requiredField:"필수 입력란입니다.",requiredFields:"모든 필수 입력란을 입력해야 합니다.",badTime:"시간을 정확하게 입력하지 않았습니다.",badEmail:"e-mail을 정확하게 입력하지 않았습니다.",badTelephone:"전화번호를 정확하게 입력하지 않았습니다.",badSecurityAnswer:"보안 입력을 정확하게 입력하지 않았습니다.",badDate:"날짜를 정확하게 입력하지 않았습니다.",lengthBadStart:"입력 값은 ",lengthBadEnd:" 사이의 문자여야 합니다.",lengthTooLongStart:"입력 값의 길이가 ",lengthTooLongEnd:" 보다 깁니다.",lengthTooShortStart:"입력 값의 길이가 ",lengthTooShortEnd:" 보다 짧습니다.",notConfirmed:"입력 값이 일치하지 않습니다.",badDomain:"도메인을 정확하게 입력하지 않았습니다.",badUrl:"URL을 정확하게 입력하지 않았습니다.",badCustomVal:"입력 값이 정확하지 않습니다.",badInt:"입력 값이 숫자가 아닙니다.",badSecurityNumber:"주민등록번호가 정확하지 않습니다.",badStrength:"암호를 더 복잡하게 조합해야 합니다.",badNumberOfSelectedOptionsStart:"최소한 ",badNumberOfSelectedOptionsEnd:" 개 항목 이상을 선택해야 합니다.",badAlphaNumeric:"입력 값은 문자와 숫자만 허용합니다.",badAlphaNumericAndExtra:"입력 값은 문자와 숫자와 ",badAlphaNumericExtra:" 만 허용합니다.",badAlphaNumericAndExtraAndSpaces:"입력 값은 문자와 숫자와 ",andSpaces:" 와 빈문자(spaces)만 허용합니다. ",wrongFileSize:"업로드 하려고 하는 파일의 크기가 너무 큽니다. (최대 %s)",wrongFileType:"파일 타입은 %s 만 허용합니다.",groupCheckedRangeStart:"",groupCheckedEnd:" 개 항목을 선택해야 합니다.",groupCheckedTooFewStart:"최소한 ",groupCheckedTooFewEnd:" 개 항목 이상을 선택해야 합니다.",groupCheckedTooManyStart:"",groupCheckedTooManyEnd:" 개 항목 이하를 선택해야 합니다.",badCreditCard:"신용카드번호를 정확하지 않습니다.",badCVV:"CVV 번호가 정확하지 않습니다.",wrongFileDim:"잘못된 이미지 크기 ,",imageTooTall:"이미지 길이가 ",imageTooTallEnd:" 보다 길어야 합니다.",imageTooWide:"이미지 넓이가 ",imageTooWideEnd:" 보다 넓어야 합니다.",imageTooSmall:"이미지 크기가 너무 작습니다.",min:"min",max:"max",imageRatioNotAccepted:"이미지 비율이 맞지 않습니다."}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/toggleDisabled.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b,c){"use strict";function d(b,c,d){var e=!0;return b.find("[data-validation]").each(function(){if(this!==c){var b=a(this),f=b.hasClass(d.successElementClass),g="true"===b.valAttr("optional"),h=b.hasClass(d.errorElementClass);if(h||!f&&!g)return e=!1,!1}}),e}a.formUtils.registerLoadedModule("toggleDisabled");var e=function(a,b){"disabled"===b?a.find('*[type="submit"]').addClass("disabled").attr("disabled","disabled"):a.find('*[type="submit"]').removeClass("disabled").removeAttr("disabled")},f=!1;a.formUtils.$win.bind("validatorsLoaded formValidationSetup",function(b,g,h){var i=h.disabledFormFilter?g.filter(h.disabledFormFilter):g,j=h.showErrorDialogs===c||h.showErrorDialogs,k=function(b,c,d){var e=a(this);d&&d.indexOf("blur")>-1?e.unbind("afterValidation",k):c.isValid?e.unbind("afterValidation",k):e.valAttr("have-been-blurred")||(c.shouldChangeDisplay=!1)};i.addClass(j?"disabled-with-errors":"disabled-without-errors").on("reset",function(){e(a(this),"disabled")}).find("*[data-validation]").valAttr("event","keyup change").on("validation",function(b,c){if(!f){f=!0;var g=a(this).closest("form");c&&d(g,this,h)?e(g,"enabled"):e(g,"disabled"),f=!1}}).on("afterValidation",k).on("blur",function(){a(this).valAttr("have-been-blurred",1)}).each(function(){var b=a(this),c=b.attr("data-validation");c.indexOf("checkbox_group")>-1&&b.closest("form").find('input[name="'+b.attr("name")+'"]').each(function(){a(this).on("change",function(){b.validate()})})}),i.find("[data-validation-async]").valAttr("event","change"),e(i,"disabled"),i.validateOnEvent(h.language,h)}).on("validationErrorDisplay",function(a,b,c){b.closest("form").hasClass("disabled-without-errors")&&c.hide()})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/logic.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){"use strict";a.formUtils.registerLoadedModule("logic");var b=function(b,c){var d=function(){var c=a(this),d=c.valAttr("depends-on")||c.valAttr("if-checked");if(d){var f=a.formUtils.getValue('[name="'+d+'"]',b),g=a.split(c.valAttr("depends-on-value"),!1,!1),h=!f||g.length&&!e(f,g);h&&c.valAttr("skipped","1")}},e=function(b,c){var d=!1,e=b.toLocaleLowerCase();return a.each(c,function(a,b){if(e===b.toLocaleLowerCase())return d=!0,!1}),d},f=function(){var b=a(this),d=a.formUtils.getValue(b),e=b.valAttr("depending-value");a.each(this.dependingInputs,function(b,f){var g=!!a.formUtils.getValue(f),h=!d||e&&e!==d;h&&!g&&a.formUtils.dialogs.removeInputStylingAndMessage(f,c)})};b.find("[data-validation-depends-on]").off("beforeValidation",d).on("beforeValidation",d).each(function(){var c=a(this);b.find('[name="'+c.valAttr("depends-on")+'"]').each(function(){a(this).off("change",f).on("change",f).valAttr("depending-value",c.valAttr("depends-on-value")),this.dependingInputs=this.dependingInputs||[],this.dependingInputs.push(c)})})},c=function(b,c){var d=function(){var c=a(this),d=c.valAttr("optional-if-answered"),e=!1,f=!!a.formUtils.getValue(c);f||(a.each(a.split(d),function(c,d){var f=b.find('[name="'+d+'"]');if(e=!!a.formUtils.getValue(f))return!1}),e&&c.valAttr("skipped",1))},e=function(){var d=a(this),e=d.valAttr("optional-if-answered");a.each(a.split(e),function(d,e){var f=b.find('[name="'+e+'"]'),g=!!a.formUtils.getValue(f);g||a.formUtils.dialogs.removeInputStylingAndMessage(f,c)})};b.find("[data-validation-optional-if-answered]").off("beforeValidation",d).on("beforeValidation",d).each(function(){a(this).off("change",e).on("change",e)})};a.formUtils.$win.bind("validatorsLoaded formValidationSetup",function(d,e,f){e||(e=a("form")),b(e,f),c(e,f)})}(a)}); -------------------------------------------------------------------------------- /form-validator/lang/fa.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/fa"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"ثبت فرم با مشکل مواجه شد!",requiredField:"شما همه فیلدهای ضروری را تکمیل نکرده اید",requiredFields:"شما فیلد ضروری را تکمیل نکرده اید",badTime:"زمان درستی را وارد نکرده اید",badEmail:"آدرس ایمیل را به درستی وارد نکرده اید",badTelephone:"شماره تلفن وارد شده معتبر نیست",badSecurityAnswer:"شما به سوال امنیتی درست پاسخ نداده اید",badDate:"تاریخ درستی را وارد نکرده اید",lengthBadStart:"مقدار وارد شده باید ",lengthBadEnd:" حرف باشد.",lengthTooLongStart:"مقدار ورودی بیشتر از ",lengthTooShortStart:"مقدار ورودی کمتر از ",notConfirmed:"ورودی ها یکسان نیستند",badDomain:"آدرس دامنه به درستی وارد نشده است",badUrl:"آدرس اینترنتی به درستی وارد نشده است",badCustomVal:"مقدار ورودی نادرست است",andSpaces:" و فاصله خالی ",badInt:"مقدار ورودی باید عدد باشد",badSecurityNumber:"شماره امنیت اجتماعی شما معتبر نیست",badUKVatAnswer:"شماره مالیاتی شما درست نیست",badStrength:"کلمه عبور به قدر کافی مستحکم نیست",badNumberOfSelectedOptionsStart:"شما باید حداقل ",badNumberOfSelectedOptionsEnd:" پاسخ را انتخاب کنید",badAlphaNumeric:"مقدار ورودی می تواند حروف و شماره باشد ",badAlphaNumericExtra:" و ",wrongFileSize:"حجم فایل انتخابی زیاد است. (حداکثر %s)",wrongFileType:"فقط فایل های با فرمت %s مجاز هستند",groupCheckedRangeStart:"لطفا بین ",groupCheckedTooFewStart:"لطفا حداقل ",groupCheckedTooManyStart:"لطفا حداکثر ",groupCheckedEnd:" گزینه انتخاب کنید",badCreditCard:"شماره کارت اعتباری معتبر نیست",badCVV:"کد شناسایی سی وی وی معتبر نیست",wrongFileDim:"ابعاد تصویر صحیح نیست,",imageTooTall:"حداکثر طول تصویر",imageTooWide:"حداکثر عرض تصویر",imageTooSmall:"تصویر خیلی کوچک است",min:"حداقل",max:"حداکثر",imageRatioNotAccepted:"نسبت ابعاد تصویر مناسب نیست"}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/vi.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/vi"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"Có lỗi trong qua trình gửi dữ liệu!",requiredFields:"Bạn chưa nhập đủ các thông tin bắt buộc",badTime:"Thời gian chưa chính xác",badEmail:"Địa chỉ email chưa chính xác",badTelephone:"Số điện thoại chưa chính xác",badSecurityAnswer:"Câu hỏi bảo mật chưa chính xác",badDate:"Ngày tháng chưa chính xác",lengthBadStart:"Yêu cầu nhập từ ",lengthBadEnd:" ký tự",lengthTooLongStart:"Dữ liệu quá dài, yêu cầu ít hơn ",lengthTooShortStart:"Dữ liệu quá ngắn, yêu cầu nhiều hơn ",notConfirmed:"Dữ liệu không được xác nhận",badDomain:"Tên miền chưa chính xác",badUrl:"Địa chỉ website chưa chính xác",badCustomVal:"Dữ liệu chưa chính xác",andSpaces:" và các khoảng cách ",badInt:"Yêu cầu chỉ nhập số",badSecurityNumber:"Mã bảo mật chưa chính xác",badUKVatAnswer:"UK VAT chưa chính xác",badStrength:"Mật khẩu chưa đủ độ phức tạp",badNumberOfSelectedOptionsStart:"Bạn cần tích chọn ít nhất ",badNumberOfSelectedOptionsEnd:" lựa chọn",badAlphaNumeric:"Yêu cầu chỉ nhập chữ hoặc số ",badAlphaNumericExtra:" và ",wrongFileSize:"File của bạn quá lớn (chỉ chấp nhận file không quá %s)",wrongFileType:"Chỉ cho phép các định dạng file sau: %s",groupCheckedRangeStart:"Vui lòng tích chọn từ ",groupCheckedTooFewStart:"Vui lòng tích chọn ít nhất ",groupCheckedTooManyStart:"Vui lòng tích chọn nhiều nhất ",groupCheckedEnd:" lựa chọn",badCreditCard:"Mã thẻ chưa chính xác",badCVV:"Mã bảo mật (CVV) chưa chính xác",wrongFileDim:"Kích thước ảnh chưa chính xác,",imageTooTall:"Chiều cao ảnh không được vượt quá",imageTooWide:"Chiều rộng ảnh không được vượt quá",imageTooSmall:"Kích thước ảnh quá nhỏ",min:"nhỏ nhất",max:"lớn nhất",imageRatioNotAccepted:"Tỷ lệ ảnh chưa chính xác"}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/cs.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/cs"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"Podání formuláře selhalo!",requiredField:"Toto pole je povinné",requiredfields:"Nebyly vyplněny všechny požadované pole",badTime:"Neplatný čas",badEmail:"Neplatná e-mailová adresa",badTelephone:"Neplatné telefonní číslo",badSecurityAnswer:"Chybná odpověď na bezpečnostní otázku",badDate:"Nesprávné datum",lengthBadStart:"Zadaná hodnota musí být v rozmezí ",lengthBadEnd:" znaků",lengthTooLongStart:"Zadaná hodnota je větší než ",lengthTooShortStart:"Zadaná hodnota je menší než ",notConfirmed:"Zadané hodnoty nebyly potvrzené",badDomain:"Neplatná doména",badUrl:"Neplatný URL",badCustomVal:"Zadaná hodnota je chybná",andSpaces:" a mezery",badInt:"Neplatné číslo",badSecurityNumber:"Neplatné číslo zabezpečení",badUKVatAnswer:"Neplatné číslo DIČ ",badStrength:"Vaše heslo není dostatečně silné",badNumberOfSelectedOptionsStart:"Musíte vybrat nejméně ",badNumberOfSelectedOptionsEnd:" odpověď",badAlphaNumeric:"Zadaná hodnota může obsahovat pouze alfanumerické znaky ",badAlphaNumericExtra:" a ",wrongFileSize:"Soubor je příliš velký (max %s)",wrongFileType:"Pouze soubory typu %s",groupCheckedRangeStart:"Prosím, vyberte ",groupCheckedTooFewStart:"Vyberte prosím nejméně ",groupCheckedTooManyStart:"Vyberte prosím maximálně ",groupCheckedEnd:" složka(y)",badCreditCard:"Číslo kreditní karty je neplatné",badCVV:"Číslo CVV je neplatné",wrongFileDim:"Nesprávné rozměry obrázku,",imageTooTall:"obraz nemůže být vyšší než",imageTooWide:"obraz nemůže být širší než",imageTooSmall:"obraz je příliš malý",min:"min",max:"max",imageRatioNotAccepted:"Poměr obrázku je nesprávný",badBrazilTelephoneAnswer:"Neplatné telefonní číslo",badBrazilCEPAnswer:"Neplatné CEP",badBrazilCPFAnswer:"Neplatné CPF"}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/da.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/da"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={andSpaces:" og mellemrum ",badAlphaNumeric:"Det indtastede kan kun indeholde alfanumeriske karakter ",badAlphaNumericExtra:" og ",badCVV:"Det angivne CVV nummer er ugyldigt",badCreditCard:"Det angivne kortnummer er ugyldigt",badCustomVal:"Den indtastede værdi er ugyldig",badDate:"Den angivne dato er ugyldig",badDomain:"Det angivne domæne er ugyldigt",badEmail:"Den angivne email adresse er ugyldig",badInt:"Det angivne tal er ugyldigt",badNumberOfSelectedOptionsEnd:" svar",badNumberOfSelectedOptionsStart:"Du skal vælge mindst ",badSecurityAnswer:"Du har ikke angivet et korrekt svar til sikkerhedsspørgsmålet",badSecurityNumber:"Dit CPR nummer er ikke korrekt",badStrength:"Det angivne password er ikke stærkt nok",badTelephone:"Det angivne telefonnummer er ugyldigt",badTime:"Det angivne tidspunkt er ugyldigt",badUrl:"Den angivne URL er ugyldig",badreCaptcha:"Verificer venligst at du ikke er en bot",errorTitle:"Formular forespørgslen fejlede!",groupCheckedEnd:" ting",groupCheckedRangeStart:"Vælg venligst mellem ",groupCheckedTooFewStart:"Vælg mindst ",groupCheckedTooManyStart:"Vælg højst ",imageRatioNotAccepted:"Billedets dimensioner er ikke acceptable",imageTooSmall:"Billedet er for lille",imageTooTall:"Billedet må ikke være højere end",imageTooWide:"Billedet må ikke være bredere end",lengthBadEnd:" tegn",lengthBadStart:"Feltets værdi skal være mellem ",lengthTooLongStart:"Feltets værdi må ikke være længere end ",lengthTooShortStart:"Feltets værdi må ikke være kortere end ",max:"max",min:"min",notConfirmed:"Feltværdierne kunne ikke bekræftes",requiredField:"Dette felt er påkrævet",requiredFields:"Du har ikke udfyldt alle påkrævede felter",wrongFileDim:"Forkerte billede dimensioner,",wrongFileSize:"Filen du forsøger at uploade er for stor (max %s)",wrongFileType:"Udelukkende filer at følgedne type er tilladt %s"}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/no.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/no"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={andSpaces:" og mellomrom ",badAlphaNumeric:"Inntastningsverdien kan kun inneholde alfanumeriske tegn ",badAlphaNumericExtra:" og ",badCVV:"CVV-nummeret var ikke korrekt",badCreditCard:"Kredittkortnummeret er ikke korrekt",badCustomVal:"Inntastingsverdien er ikke korrekt",badDate:"Du har ikke oppgitt en korrekt dato",badDomain:"Ukorrekt domeneverdi",badEmail:"Du har ikke oppgitt en korrekt e-postadresse",badInt:"Inntastingsverdien er ikke et korrekt tall",badNumberOfSelectedOptionsEnd:" svar",badNumberOfSelectedOptionsStart:"Du må velge minst ",badSecurityAnswer:"Du har ikke oppgitt et korrekt svar på sikkerhetsspørsmålet",badSecurityNumber:"Ditt personnummer var ukorrekt",badStrength:"Passordet er ikke sterkt nok",badTelephone:"Du har ikke oppgitt et korrekt telefonnummer",badTime:"Du har ikke oppgitt en korrekt tid",badUrl:"Inntastingsverdien er ikke en korrekt URL",badreCaptcha:"Vennligst bekreft at du ikke er en robot",errorTitle:"Innsending av skjemaet feilet!",groupCheckedEnd:" ting",groupCheckedRangeStart:"Vennligst velg mellom ",groupCheckedTooFewStart:"Vennligst velg minst ",groupCheckedTooManyStart:"Vennligst velg maksimum ",imageRatioNotAccepted:"Bildestørrelse ikke akseptert",imageTooSmall:"bildet er for lite",imageTooTall:"bildet kan ikke være høyere enn",imageTooWide:"bildet kan ikke være bredere enn",lengthBadEnd:"tegn",lengthBadStart:"Inntastingsverdien må være mellom ",lengthTooLongStart:"Inntastingsverdien er lenger enn ",lengthTooShortStart:"Inntastingsverdien er kortere enn ",max:"maks",min:"min",notConfirmed:"Inntastingsverdier kunne ikke bekreftes",requiredField:"Dette er et obligatorisk felt",requiredFields:"Du har ikke besvart alle obligatoriske felt",wrongFileDim:"Ukorrekte bildedimensjoner,",wrongFileSize:"Bildet du prøver å laste opp er for stort (max %s)",wrongFileType:"Kun filer av type %s er tillatt"}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/ru.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/ru"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"Ошибка отправки формы!",requiredField:"Это обязательное поле",requiredFields:"Вы задали не все обязательные поля",badTime:"Вы задали некорректное время",badEmail:"Вы задали некорректный e-mail",badTelephone:"Вы задали некорректный номер телефона",badSecurityAnswer:"Вы задали некорректный ответ на секретный вопрос",badDate:"Вы задали некорректную дату",lengthBadStart:"Значение должно быть в диапазоне",lengthBadEnd:" символов",lengthTooLongStart:"Значение длинее, чем ",lengthTooShortStart:"Значение меньше, чем ",notConfirmed:"Введённые значения не могут быть подтверждены",badDomain:"Некорректное значение домена",badUrl:"Некорретный URL",badCustomVal:"Введённое значение неверно",andSpaces:" и пробелы ",badInt:"Значение - не число",badSecurityNumber:"Введённый защитный номер - неправильный",badUKVatAnswer:"Некорректный UK VAT номер",badStrength:"Пароль не достаточно надёжен",badNumberOfSelectedOptionsStart:"Вы должны выбрать как минимум ",badNumberOfSelectedOptionsEnd:" ответов",badAlphaNumeric:"Значение должно содержать только числа и буквы ",badAlphaNumericExtra:" и ",wrongFileSize:"Загружаемый файл слишком велик (максимальный размер %s)",wrongFileType:"Принимаются файлы следующих типов %s",groupCheckedRangeStart:"Выберите между ",groupCheckedTooFewStart:"Выберите как минимум ",groupCheckedTooManyStart:"Выберите максимум из ",groupCheckedEnd:" элемент(ов)",badCreditCard:"Номер кредитной карты некорректен",badCVV:"CVV номер некорректно",wrongFileDim:"Неверные размеры графического файла,",imageTooTall:"изображение не может быть уже чем",imageTooWide:"изображение не может быть шире чем",imageTooSmall:"изображение слишком мало",min:"минимум",max:"максимум",imageRatioNotAccepted:"Изображение с таким соотношением сторон не принимается",badBrazilTelephoneAnswer:"Введённый номер телефона неправильный",badBrazilCEPAnswer:"CEP неправильный",badBrazilCPFAnswer:"CPF неправильный"}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/nl.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/nl"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={andSpaces:" en spaties ",badAlphaNumeric:"De ingevoerde waarde mag alleen alfabetische karakters bevatten",badAlphaNumericExtra:" en ",badCVV:"Het CVV nummer was onjuist",badCreditCard:"Het creditcardnummer is onjuist",badCustomVal:"De ingevoerde waarde is onjuist",badDate:"U heeft niet de juiste datum aangegeven",badDomain:"Incorrect domein",badEmail:"U heeft een onjuist e-mailadres ingevoerd ",badInt:"De ingevoerde waarde was een onjuist getal",badNumberOfSelectedOptionsEnd:" antwoorden",badNumberOfSelectedOptionsStart:"U moet tenminste ",badSecurityAnswer:"U heeft de beveilingsvraag onjuist beantwoord",badSecurityNumber:"Uw burgerservicenummer was incorrect",badStrength:"Het wachtwoord is niet veilig genoeg",badTelephone:"U heeft een onjuist telefoonnummer ingevoerd",badTime:"U heeft een incorrecte tijd aangegeven",badUrl:"De ingevoerde waarde is geen correcte URL",badreCaptcha:"Bevestig a.u.b. dat u geen robot bent",errorTitle:"Indienen van formulier mislukt!",groupCheckedEnd:" item(s)",groupCheckedRangeStart:"Kies a.u.b. tussen ",groupCheckedTooFewStart:"Kies a.u.b. ten minste ",groupCheckedTooManyStart:"Kies a.u.b. maximaal ",imageRatioNotAccepted:"De afbeeldingsverhouding wordt niet geaccepteerd",imageTooSmall:"de afbeelding was te klein",imageTooTall:"de afbeelding kan niet langer zijn dan",imageTooWide:"de afbeelding kan niet wijder zijn dan",lengthBadEnd:" karakters",lengthBadStart:"De ingevoerde waarde moet liggen tussen ",lengthTooLongStart:"De ingevoerde waarde is langer dan ",lengthTooShortStart:"De ingevoerde waarde is korter dan ",max:"max",min:"min",notConfirmed:"Invoerwaarden konden niet worden bevestigd",requiredField:"Dit is een verplicht veld",requiredFields:"U heeft niet alle verplichte velden ingevuld",wrongFileDim:"Incorrecte afbeeldingsafmetingen,",wrongFileSize:"Het bestand dat u probeert te uploaden is te groot (max %s)",wrongFileType:"Alleen type %s bestanden zijn toegestaan"}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/ro.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/ro"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"Nu sa reusit lansarea formularului!",requiredField:"Acest câmp este obligatoriu",requiredfields:"Nu toate câmpurile obligatorii au fost completate",badTime:"Timpul introdus este incorect",badEmail:"Adresa de e-mail este incorectă",badTelephone:"Numărul de telefon este incorect",badSecurityAnswer:"Răspuns incorect la întrebarea de siguran?ă",badDate:"Dară incorectă",lengthBadStart:"Valoarea introdusă trebuie să fie interval ",lengthBadEnd:" caractere",lengthTooLongStart:"Valoarea introdusă este mai mare decât ",lengthTooShortStart:"Valoarea introdusă este mai mică decât ",notConfirmed:"Valorile introduse nu au fost confirmate",badDomain:"Domeniul este incorect",badUrl:"Adresa URL este incorectă",badCustomVal:"Valoarea introdusă este incorectă",andSpaces:" şi spaţierea",badInt:"Numărul introdus este incorect",badSecurityNumber:"Numărul de asigurare introdus este incorect",badUKVatAnswer:"Numărul CIF introdus este incorect",badStrength:"Parola Dvs nu este suficient de sigură",badNumberOfSelectedOptionsStart:"Trebuie să alegi măcar ",badNumberOfSelectedOptionsEnd:" răspunsuri",badAlphaNumeric:"Valoarea introdusă trebuie să con însă doar caractere alfanumerice ",badAlphaNumericExtra:" și ",wrongFileSize:"Fisierul trimis este prea mare (max %s)",wrongFileType:"Se acceptă doar fisiere tip %s",groupCheckedRangeStart:"Te rog alege între ",groupCheckedTooFewStart:"Te rog alege măcar ",groupCheckedTooManyStart:"Te rog alege maxim ",groupCheckedEnd:" elemnt(e)",badCreditCard:"Numărul de card introdus este incorect",badCVV:"Numărul CVV introdus este incorect",wrongFileDim:"Dimensiunea imaginii este incorectă,",imageTooTall:"imaginea nu poate fi mai înaltă decât",imageTooWide:"imaginea nu poate fi mai lată decât",imageTooSmall:"imaginea este prea mică",min:"min",max:"max",imageRatioNotAccepted:"Proportiile imaginii sunt incorecte",badBrazilTelephoneAnswer:"Numărul de telefon introdus este incorect.",badBrazilCEPAnswer:"CEP incorect",badBrazilCPFAnswer:"CPF incorect"}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/sv.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/sv"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"Formuläret kunde inte skickas!",requiredField:"Detta är ett obligtoriskt fält",requiredFields:"Du har inte besvarat alla frågor",badTime:"Du har inte angett en korrekt tidpunkt",badEmail:"Du har inte angett en korrekt e-postadress",badTelephone:"Du har inte angett ett korrekt telefonnummer",badSecurityAnswer:"Du har angett fel svar på säkerhetsfrågan",badDate:"Du har anget ett felaktigt datum",lengthBadStart:"Ditt svar måste innehålla mellan ",lengthBadEnd:" tecken",lengthTooLongStart:"Du har angett ett svar som är längre än ",lengthTooShortStart:"Du har angett ett svar som är kortare än ",notConfirmed:"Svaren kunde inte bekräfta varandra",badDomain:"Du har angett en inkorrekt domän",badUrl:"Du har inte angett en korrekt webbadress",badCustomVal:"Du har anget ett inkorrekt svar",andSpaces:" och mellanslag ",badInt:"Du har inte angett en siffra",badSecurityNumber:"Du har angett ett felaktigt personnummer",badUKVatAnswer:"Du har inte angett ett brittiskt moms-nummer",badStrength:"Du har angett ett lösenord som inte är nog säkert",badNumberOfSelectedOptionsStart:"Du måste åtminstone välja ",badNumberOfSelectedOptionsEnd:" svarsalternativ",badAlphaNumeric:"Du kan endast svara med alfanumersika tecken (a-z och siffror)",badAlphaNumericExtra:" och ",wrongFileSize:"Filen du försöker ladda upp är för stor (max %s)",wrongFileType:"Endast filer av typen %s är tillåtna",groupCheckedRangeStart:"Välj mellan ",groupCheckedTooFewStart:"Då måste göra minst ",groupCheckedTooManyStart:"Du får inte göra fler än ",groupCheckedEnd:" val",badCreditCard:"Du har angett ett felaktigt kreditkortsnummer",badCVV:"Du har angett ett felaktigt CVV-nummer",wrongFileDim:"Otillåten bildstorlek,",imageTooTall:"bilden får inte vara högre än",imageTooWide:"bilden får inte vara bredare än",imageTooSmall:"bilden är för liten",genericBadInputValue:"The input value can be accepted",min:"minst",max:"max",imageRatioNotAccepted:"Bildens dimensioner (förhållandet mellan höjd och längd) kan inte accepteras"}})}(a,window)}); -------------------------------------------------------------------------------- /src/lang/vi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Vietnamese language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/vi'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'Có lỗi trong qua trình gửi dữ liệu!', 20 | requiredFields: 'Bạn chưa nhập đủ các thông tin bắt buộc', 21 | badTime: 'Thời gian chưa chính xác', 22 | badEmail: 'Địa chỉ email chưa chính xác', 23 | badTelephone: 'Số điện thoại chưa chính xác', 24 | badSecurityAnswer: 'Câu hỏi bảo mật chưa chính xác', 25 | badDate: 'Ngày tháng chưa chính xác', 26 | lengthBadStart: 'Yêu cầu nhập từ ', 27 | lengthBadEnd: ' ký tự', 28 | lengthTooLongStart: 'Dữ liệu quá dài, yêu cầu ít hơn ', 29 | lengthTooShortStart: 'Dữ liệu quá ngắn, yêu cầu nhiều hơn ', 30 | notConfirmed: 'Dữ liệu không được xác nhận', 31 | badDomain: 'Tên miền chưa chính xác', 32 | badUrl: 'Địa chỉ website chưa chính xác', 33 | badCustomVal: 'Dữ liệu chưa chính xác', 34 | andSpaces: ' và các khoảng cách ', 35 | badInt: 'Yêu cầu chỉ nhập số', 36 | badSecurityNumber: 'Mã bảo mật chưa chính xác', 37 | badUKVatAnswer: 'UK VAT chưa chính xác', 38 | badStrength: 'Mật khẩu chưa đủ độ phức tạp', 39 | badNumberOfSelectedOptionsStart: 'Bạn cần tích chọn ít nhất ', 40 | badNumberOfSelectedOptionsEnd: ' lựa chọn', 41 | badAlphaNumeric: 'Yêu cầu chỉ nhập chữ hoặc số ', 42 | badAlphaNumericExtra: ' và ', 43 | wrongFileSize: 'File của bạn quá lớn (chỉ chấp nhận file không quá %s)', 44 | wrongFileType: 'Chỉ cho phép các định dạng file sau: %s', 45 | groupCheckedRangeStart: 'Vui lòng tích chọn từ ', 46 | groupCheckedTooFewStart: 'Vui lòng tích chọn ít nhất ', 47 | groupCheckedTooManyStart: 'Vui lòng tích chọn nhiều nhất ', 48 | groupCheckedEnd: ' lựa chọn', 49 | badCreditCard: 'Mã thẻ chưa chính xác', 50 | badCVV: 'Mã bảo mật (CVV) chưa chính xác', 51 | wrongFileDim: 'Kích thước ảnh chưa chính xác,', 52 | imageTooTall: 'Chiều cao ảnh không được vượt quá', 53 | imageTooWide: 'Chiều rộng ảnh không được vượt quá', 54 | imageTooSmall: 'Kích thước ảnh quá nhỏ', 55 | min: 'nhỏ nhất', 56 | max: 'lớn nhất', 57 | imageRatioNotAccepted: 'Tỷ lệ ảnh chưa chính xác' 58 | }; 59 | 60 | }); 61 | 62 | })(jQuery, window); 63 | -------------------------------------------------------------------------------- /form-validator/html5.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){"use strict";a.formUtils.registerLoadedModule("html5");var b="placeholder"in document.createElement("INPUT"),c="options"in document.createElement("DATALIST"),d=!1,e=function(e){e.each(function(){var e=a(this),f=e.find("input,textarea,select"),g=!1;f.each(function(){var b=[],e=a(this),f=e.attr("required"),h={};switch(f&&b.push("required"),(e.attr("type")||"").toLowerCase()){case"time":b.push("time"),a.formUtils.validators.validate_date||d||(d=!0,a.formUtils.loadModules("date"));break;case"url":b.push("url");break;case"email":b.push("email");break;case"date":b.push("date");break;case"number":b.push("number");var i=e.attr("max"),j=e.attr("min"),k=e.attr("step");j||i?(j||(j="0"),i||(i="9007199254740992"),k||(k="1"),h["data-validation-allowing"]="range["+j+";"+i+"]",0!==j.indexOf("-")&&0!==i.indexOf("-")||(h["data-validation-allowing"]+=",negative"),(j.indexOf(".")>-1||i.indexOf(".")>-1||k.indexOf(".")>-1)&&(h["data-validation-allowing"]+=",float")):h["data-validation-allowing"]+=",float,negative"}if(e.attr("pattern")&&(b.push("custom"),h["data-validation-regexp"]=e.attr("pattern")),e.attr("maxlength")&&(b.push("length"),h["data-validation-length"]="max"+e.attr("maxlength")),!c&&e.attr("list")){var l=[],m=a("#"+e.attr("list"));if(m.find("option").each(function(){l.push(a(this).text())}),0===l.length){var n=a.trim(a("#"+e.attr("list")).text()).split("\n");a.each(n,function(b,c){l.push(a.trim(c))})}m.remove(),a.formUtils.suggest(e,l)}if(b.length){f||(h["data-validation-optional"]="true"),g=!0;var o=(e.attr("data-validation")||"")+" "+b.join(" ");e.attr("data-validation",a.trim(o)),a.each(h,function(a,b){e.attr(a,b)})}}),g&&e.trigger("html5ValidationAttrsFound"),b||f.filter("input[placeholder]").each(function(){this.__defaultValue=this.getAttribute("placeholder"),a(this).bind("focus",function(){this.value===this.__defaultValue&&(this.value="",a(this).removeClass("showing-placeholder"))}).bind("blur",function(){""===a.trim(this.value)&&(this.value=this.__defaultValue,a(this).addClass("showing-placeholder"))})})})};a.formUtils.$win.bind("validatorsLoaded formValidationSetup",function(b,c){c||(c=a("form")),e(c)}),a.formUtils.setupValidationUsingHTML5Attr=e}(a,window)}); -------------------------------------------------------------------------------- /src/lang/ko.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Korean language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/ko'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: '이 양식은 보낼 수 없습니다!', 20 | requiredField: '필수 입력란입니다.', 21 | requiredFields: '모든 필수 입력란을 입력해야 합니다.', 22 | badTime: '시간을 정확하게 입력하지 않았습니다.', 23 | badEmail: 'e-mail을 정확하게 입력하지 않았습니다.', 24 | badTelephone: '전화번호를 정확하게 입력하지 않았습니다.', 25 | badSecurityAnswer: '보안 입력을 정확하게 입력하지 않았습니다.', 26 | badDate: '날짜를 정확하게 입력하지 않았습니다.', 27 | lengthBadStart: '입력 값은 ', 28 | lengthBadEnd: ' 사이의 문자여야 합니다.', 29 | lengthTooLongStart: '입력 값의 길이가 ', 30 | lengthTooLongEnd: ' 보다 깁니다.', 31 | lengthTooShortStart: '입력 값의 길이가 ', 32 | lengthTooShortEnd: ' 보다 짧습니다.', 33 | notConfirmed: '입력 값이 일치하지 않습니다.', 34 | badDomain: '도메인을 정확하게 입력하지 않았습니다.', 35 | badUrl: 'URL을 정확하게 입력하지 않았습니다.', 36 | badCustomVal: '입력 값이 정확하지 않습니다.', 37 | badInt: '입력 값이 숫자가 아닙니다.', 38 | badSecurityNumber: '주민등록번호가 정확하지 않습니다.', 39 | badStrength: '암호를 더 복잡하게 조합해야 합니다.', 40 | badNumberOfSelectedOptionsStart: '최소한 ', 41 | badNumberOfSelectedOptionsEnd: ' 개 항목 이상을 선택해야 합니다.', 42 | badAlphaNumeric: '입력 값은 문자와 숫자만 허용합니다.', 43 | badAlphaNumericAndExtra: '입력 값은 문자와 숫자와 ', 44 | badAlphaNumericExtra: ' 만 허용합니다.', 45 | badAlphaNumericAndExtraAndSpaces: '입력 값은 문자와 숫자와 ', 46 | andSpaces: ' 와 빈문자(spaces)만 허용합니다. ', 47 | wrongFileSize: '업로드 하려고 하는 파일의 크기가 너무 큽니다. (최대 %s)', 48 | wrongFileType: '파일 타입은 %s 만 허용합니다.', 49 | groupCheckedRangeStart: '', 50 | groupCheckedEnd: ' 개 항목을 선택해야 합니다.', 51 | groupCheckedTooFewStart: '최소한 ', 52 | groupCheckedTooFewEnd: ' 개 항목 이상을 선택해야 합니다.', 53 | groupCheckedTooManyStart: '', 54 | groupCheckedTooManyEnd: ' 개 항목 이하를 선택해야 합니다.', 55 | badCreditCard: '신용카드번호를 정확하지 않습니다.', 56 | badCVV: 'CVV 번호가 정확하지 않습니다.', 57 | wrongFileDim : '잘못된 이미지 크기 ,', 58 | imageTooTall : '이미지 길이가 ', 59 | imageTooTallEnd : ' 보다 길어야 합니다.', 60 | imageTooWide : '이미지 넓이가 ', 61 | imageTooWideEnd : ' 보다 넓어야 합니다.', 62 | imageTooSmall : '이미지 크기가 너무 작습니다.', 63 | min : 'min', 64 | max : 'max', 65 | imageRatioNotAccepted : '이미지 비율이 맞지 않습니다.', 66 | }; 67 | 68 | }); 69 | 70 | })(jQuery, window); 71 | -------------------------------------------------------------------------------- /form-validator/lang/fr.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/fr"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"Le formulaire n'a pas pu être envoyé!",requiredField:"Ce champ est obligatoire",requiredFields:"Vous n'avez pas rempli tous les champs",badTime:"Vous n'avez pas saisi l'heure correctement",badEmail:"Vous n'avez pas saisi une adresse e-mail valide",badTelephone:"Vous n'avez pas saisi un numéro de téléphone valide",badSecurityAnswer:"Vous avez saisi une mauvaise réponse à la question de sécurité",badDate:"Vous n'avez pas saisi une date correcte",lengthBadStart:"Votre saisie doit comporter entre ",lengthBadEnd:" caractères",lengthTooLongStart:"Vous avez saisi une réponse qui est plus longue que ",lengthTooShortStart:"Votre saisie est plus courte que ",notConfirmed:"Les saisies ne sont pas identiques",badDomain:"Vous avez saisi un domaine incorrect",badUrl:"Vous avez saisi une URL incorrecte",badCustomVal:"Re-saisissez une réponse correcte",andSpaces:" et des espaces ",badInt:"Vous n'avez pas saisi un numéro",badSecurityNumber:"Vous avez saisi un mauvais numéro de sécurité sociale",badUKVatAnswer:"Vous n'avez pas saisi un numéro de TVA au Royaume-Uni",badStrength:"Vous avez saisi un mot de passe pas assez sécurisé",badNumberOfSelectedOptionsStart:"Vous devez sélectionner au moins ",badNumberOfSelectedOptionsEnd:" réponse(s)",badAlphaNumeric:"Vous ne pouvez répondre qu'avec des caractères alphanumériques et des chiffres ",badAlphaNumericExtra:" et ",wrongFileSize:"Le fichier que vous essayez de télécharger est trop grand (max %s)",wrongFileType:"Seuls les fichiers du type %s sont autorisés",groupCheckedRangeStart:"Choisissez entre ",groupCheckedTooFewStart:"Vous devez faire au moins ",groupCheckedTooManyStart:"Vous ne pouvez pas faire plus de ",groupCheckedEnd:" sélection(s)",badCreditCard:"Vous avez saisi un numéro de carte de crédit invalide",badCVV:"Vous avez saisi un CVV incorrect",wrongFileDim:"Mauvaise taille de l'image, ",imageTooTall:"l'image ne peut pas être plus élevée que",imageTooWide:"l'image ne peut pas être plus large que",imageTooSmall:"l'image est trop petite",min:"moins",max:"max",imageRatioNotAccepted:"Ratio de l'image non accepté"}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/ca.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/ca"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"El formulari no s'ha pogut enviar!",requiredField:"Aquest camp és obligatori",requiredFields:"No ha contestat tots els camps requerits",badTime:"L'hora proporcionada no és vàlida",badEmail:"La direcció d'e-mail no és vàlida",badTelephone:"El número de telèfon proporcionat no és vàlid",badSecurityAnswer:"La resposta a la seva pregunta de seguretat és incorrecte",badDate:"La data proporcionada no és vàlida",lengthBadStart:"La seva resposta s'ha d'incloure entre ",lengthBadEnd:" caràcters",lengthTooLongStart:"La seva resposta ha de ser menor a ",lengthTooShortStart:"La seva resposta ha de ser major a ",notConfirmed:"Els valors proporcionats no poden ser confirmats",badDomain:"Ha introduït un domini incorrecte",badUrl:"La URL proporcionada no és vàlida",badCustomVal:"Els valors proporcionats no són vàlids",andSpaces:" i espais ",badInt:"El valor proporcionat no és un número vàlid",badSecurityNumber:"El número de seguretat social proporcionat és incorrecte",badUKVatAnswer:"El número VAT proporcionat no és vàlid pel Regne Unit",badStrength:"La contrasenya proporcionada no és suficientment segura",badNumberOfSelectedOptionsStart:"Ha de seleccionar almenys",badNumberOfSelectedOptionsEnd:" resposta(es)",badAlphaNumeric:"El valor proporcionat només ha de contenir caràcters alfanumèrics (a-z i números)",badAlphaNumericExtra:" i",wrongFileSize:"L'arxiu que està tractant de pujar és massa gran (màx. %s)",wrongFileType:"Només els arxius de tipus %s estan permesos",groupCheckedRangeStart:"Si us plau, triï entre ",groupCheckedTooFewStart:"Si us plau, triï almenys ",groupCheckedTooManyStart:"Si us plau, triï un màxim de ",groupCheckedEnd:" element(s)",badCreditCard:"El número de targeta de crèdit proporcionat no és vàlid",badCVV:"CVV proporcionat no és vàlid",wrongFileDim:"Les dimensions de la imatge no són vàlides,",imageTooTall:"l'alçada de la imatge no pot ser major a",imageTooWide:"l'amplada de la imatge no pot ser major a",imageTooSmall:"la imatge és massa petita",min:"min.",max:"màx.",imageRatioNotAccepted:"La proporció de la imatge (alçada x amplada) no és vàlida"}})}(a,window)}); -------------------------------------------------------------------------------- /src/lang/cs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Czech language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/cs'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'Podání formuláře selhalo!', 20 | requiredField: 'Toto pole je povinné', 21 | requiredfields: 'Nebyly vyplněny všechny požadované pole', 22 | badTime: 'Neplatný čas', 23 | badEmail: 'Neplatná e-mailová adresa', 24 | badTelephone: 'Neplatné telefonní číslo', 25 | badSecurityAnswer: 'Chybná odpověď na bezpečnostní otázku', 26 | badDate: 'Nesprávné datum', 27 | lengthBadStart: 'Zadaná hodnota musí být v rozmezí ', 28 | lengthBadEnd: ' znaků', 29 | lengthTooLongStart: 'Zadaná hodnota je větší než ', 30 | lengthTooShortStart: 'Zadaná hodnota je menší než ', 31 | notConfirmed: 'Zadané hodnoty nebyly potvrzené', 32 | badDomain: 'Neplatná doména', 33 | badUrl: 'Neplatný URL', 34 | badCustomVal: 'Zadaná hodnota je chybná', 35 | andSpaces: ' a mezery', 36 | badInt: 'Neplatné číslo', 37 | badSecurityNumber: 'Neplatné číslo zabezpečení', 38 | badUKVatAnswer: 'Neplatné číslo DIČ ', 39 | badStrength: 'Vaše heslo není dostatečně silné', 40 | badNumberOfSelectedOptionsStart: 'Musíte vybrat nejméně ', 41 | badNumberOfSelectedOptionsEnd: ' odpověď', 42 | badAlphaNumeric: 'Zadaná hodnota může obsahovat pouze alfanumerické znaky ', 43 | badAlphaNumericExtra: ' a ', 44 | wrongFileSize: 'Soubor je příliš velký (max %s)', 45 | wrongFileType: 'Pouze soubory typu %s', 46 | groupCheckedRangeStart: 'Prosím, vyberte ', 47 | groupCheckedTooFewStart: 'Vyberte prosím nejméně ', 48 | groupCheckedTooManyStart: 'Vyberte prosím maximálně ', 49 | groupCheckedEnd: ' složka(y)', 50 | badCreditCard: 'Číslo kreditní karty je neplatné', 51 | badCVV: 'Číslo CVV je neplatné', 52 | wrongFileDim: 'Nesprávné rozměry obrázku,', 53 | imageTooTall: 'obraz nemůže být vyšší než', 54 | imageTooWide: 'obraz nemůže být širší než', 55 | imageTooSmall: 'obraz je příliš malý', 56 | min: 'min', 57 | max: 'max', 58 | imageRatioNotAccepted: 'Poměr obrázku je nesprávný', 59 | badBrazilTelephoneAnswer: 'Neplatné telefonní číslo', 60 | badBrazilCEPAnswer: 'Neplatné CEP', 61 | badBrazilCPFAnswer: 'Neplatné CPF' 62 | }; 63 | 64 | }); 65 | 66 | })(jQuery, window); 67 | -------------------------------------------------------------------------------- /form-validator/lang/pt.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/pt"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"O formulário não pode ser enviado!",requiredField:"Campo de preenchimento obrigatório",requiredFields:"Você ainda não preencheu todos os campos obrigatórios",badTime:"A hora digitada não é válida",badEmail:"O e-mail digitado não é válido",badTelephone:"O telefone digitado não é válido",badSecurityAnswer:"A pergunta de segurança não foi respondida corretamente",badDate:"A data digitada não é válida",lengthBadStart:"Sua resposta deve incluir entre ",lengthBadEnd:" caracteres",lengthTooLongStart:"Sua resposta tem mais que ",lengthTooShortStart:"Sua resposta tem menos que",notConfirmed:"As informações digitadas não puderam ser confirmadas",badDomain:"O domínio digitado não é válido",badUrl:"A URL digitada não é válida",badCustomVal:"Os dados digitados não são válidos",andSpaces:" e espaços",badInt:"O número digitado não é válido",badSecurityNumber:"O número de seguro social digitado não é válido",badUKVatAnswer:"O número do VAT digitado não é válido para o Reino Unido",badStrength:"Senha muito fraca",badNumberOfSelectedOptionsStart:"Selecione pelo menos",badNumberOfSelectedOptionsEnd:" alternativa(s)",badAlphaNumeric:"Use somente caracteres alfanuméricos (letras a-z e números)",badAlphaNumericExtra:" e",wrongFileSize:"O arquivo selecionado é maior que o tamanho máximo permitido (%s)",wrongFileType:"Somente arquivos %s são permitidos",groupCheckedRangeStart:"Por favor, escolha entre ",groupCheckedTooFewStart:"Por favor, escolha pelo menos ",groupCheckedTooManyStart:"Por favor, escolhe no máximo ",groupCheckedEnd:" alternativa(s)",badCreditCard:"O número de cartão de crédito digitado não é válido",badCVV:"O código de segurança do cartão de crédito não é válido",wrongFileDim:"As dimensões da imagem não são válidas",imageTooTall:"a imagem não pode ser mais alta que ",imageTooWide:"a imagem não pode ser mais larga que ",imageTooSmall:"a imagem é muito pequena",min:"min",max:"max",imageRatioNotAccepted:"A proporção da imagem (largura x altura) não é válida",badBrazilTelephoneAnswer:"O número de telefone digitado é inválido",badBrazilCEPAnswer:"O CEP digitado é inválido",badBrazilCPFAnswer:"O CPF digitado é inválido"}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/it.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/it"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"Impossibile inviare il modulo!",requiredField:"Campo obbligatorio",requiredFields:"Non sono stati compilati tutti i campi richiesti",badTime:"L'ora scelta non è valida",badEmail:"Questo indirizzo email non è valido",badTelephone:"Il numero di telefono imputato non è valido",badSecurityAnswer:"La risposta alla domanda di sicurezza è errata",badDate:"La data scelta non è valida",lengthBadStart:"La sua risposta non può essere più lunga di ",lengthBadEnd:" caratteri",lengthTooLongStart:"La lunghezza della risposta deve essere minore di ",lengthTooShortStart:"La lunghezza della risposta deve essere maggiore di ",notConfirmed:"Il valore non è stato confermato.",badDomain:"Il dominio inserito non è corretto.",badUrl:"L' URL inserito non è valido",badCustomVal:"I valori inseriti non sono validi",andSpaces:" e spazi ",badInt:"Il numero inserito non è valido",badSecurityNumber:"Il numero di sicurezza inserito non è valido",badUKVatAnswer:"La Partita IVA (VAT) inserita non è valida nel Regno Unito",badStrength:"La password proposta non è sufficientemente sicura",badNumberOfSelectedOptionsStart:"Deve selezionare almeno",badNumberOfSelectedOptionsEnd:" risposta/e",badAlphaNumeric:"Il valore proposto deve contenere caratteri alfanumerici (a-z e 1234...)",badAlphaNumericExtra:"",wrongFileSize:"Il file che si sta cercando di caricare è troppo grande (massimo %s)",wrongFileType:"Solo i file di tipo %s possono essere inviati",groupCheckedRangeStart:"Si prega di scegliere tra ",groupCheckedTooFewStart:"Si prega di selezionare un minimo di ",groupCheckedTooManyStart:"Si prega di selezionare un massimo di ",groupCheckedEnd:" opzione/i",badCreditCard:"Il numero di carta di credito non risulta valido",badCVV:"CVV non valido",wrongFileDim:"La dimensione dell'immagine non è valida,",imageTooTall:"il lato alto dell'immagine non può essere maggiore di",imageTooWide:"il lato lungo dell'immagine non può essere maggiore di",imageTooSmall:"L'immagine è troppo piccola",min:"min.",max:"máx.",imageRatioNotAccepted:"La proporzione dell' immagine (altezza x larghezza) non è valida"}})}(a,window)}); -------------------------------------------------------------------------------- /src/lang/fa.js: -------------------------------------------------------------------------------- 1 | /* jshint -W100 */ 2 | /** 3 | * jQuery Form Validator 4 | * ------------------------------------------ 5 | * 6 | * Farsi language package 7 | * 8 | * @website http://formvalidator.net/ 9 | * @license MIT 10 | * @version 0.0.1 11 | */ 12 | (function($, window) { 13 | 14 | 'use strict'; 15 | 16 | $.formUtils.registerLoadedModule('lang/fa'); 17 | 18 | $(window).bind('validatorsLoaded', function() { 19 | 20 | $.formUtils.LANG = { 21 | errorTitle: 'ثبت فرم با مشکل مواجه شد!', 22 | requiredField: 'شما همه فیلدهای ضروری را تکمیل نکرده اید', 23 | requiredFields: 'شما فیلد ضروری را تکمیل نکرده اید', 24 | badTime: 'زمان درستی را وارد نکرده اید', 25 | badEmail: 'آدرس ایمیل را به درستی وارد نکرده اید', 26 | badTelephone: 'شماره تلفن وارد شده معتبر نیست', 27 | badSecurityAnswer: 'شما به سوال امنیتی درست پاسخ نداده اید', 28 | badDate: 'تاریخ درستی را وارد نکرده اید', 29 | lengthBadStart: 'مقدار وارد شده باید ', 30 | lengthBadEnd: ' حرف باشد.', 31 | lengthTooLongStart: 'مقدار ورودی بیشتر از ', 32 | lengthTooShortStart: 'مقدار ورودی کمتر از ', 33 | notConfirmed: 'ورودی ها یکسان نیستند', 34 | badDomain: 'آدرس دامنه به درستی وارد نشده است', 35 | badUrl: 'آدرس اینترنتی به درستی وارد نشده است', 36 | badCustomVal: 'مقدار ورودی نادرست است', 37 | andSpaces: ' و فاصله خالی ', 38 | badInt: 'مقدار ورودی باید عدد باشد', 39 | badSecurityNumber: 'شماره امنیت اجتماعی شما معتبر نیست', 40 | badUKVatAnswer: 'شماره مالیاتی شما درست نیست', 41 | badStrength: 'کلمه عبور به قدر کافی مستحکم نیست', 42 | badNumberOfSelectedOptionsStart: 'شما باید حداقل ', 43 | badNumberOfSelectedOptionsEnd: ' پاسخ را انتخاب کنید', 44 | badAlphaNumeric: 'مقدار ورودی می تواند حروف و شماره باشد ', 45 | badAlphaNumericExtra: ' و ', 46 | wrongFileSize: 'حجم فایل انتخابی زیاد است. (حداکثر %s)', 47 | wrongFileType: 'فقط فایل های با فرمت %s مجاز هستند', 48 | groupCheckedRangeStart: 'لطفا بین ', 49 | groupCheckedTooFewStart: 'لطفا حداقل ', 50 | groupCheckedTooManyStart: 'لطفا حداکثر ', 51 | groupCheckedEnd: ' گزینه انتخاب کنید', 52 | badCreditCard: 'شماره کارت اعتباری معتبر نیست', 53 | badCVV: 'کد شناسایی سی وی وی معتبر نیست', 54 | wrongFileDim : 'ابعاد تصویر صحیح نیست,', 55 | imageTooTall : 'حداکثر طول تصویر', 56 | imageTooWide : 'حداکثر عرض تصویر', 57 | imageTooSmall : 'تصویر خیلی کوچک است', 58 | min : 'حداقل', 59 | max : 'حداکثر', 60 | imageRatioNotAccepted : 'نسبت ابعاد تصویر مناسب نیست' 61 | }; 62 | 63 | }); 64 | 65 | })(jQuery, window); 66 | -------------------------------------------------------------------------------- /form-validator/lang/ar.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/ar"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"فَشِلَ إرسال النموذج",requiredField:"هذا الحقل مطلوب",requiredFields:"لم يتم ملأ جميع الحقول المطلوبة.",badTime:"حقل الوقت خاطىء",badEmail:"البريد الإلكتروني المدخل خاطئ",badTelephone:"رقم الهاتف المدخل خاطئ",badSecurityAnswer:"لم يتم الإجابة عن سؤال الأمان",badDate:"تاريخ مدخل خاطئ",lengthBadStart:"القيمة المدخلة يجب أن تكون بين ",lengthBadEnd:" حروف",lengthTooLongStart:"القيمة المدخل أطول من ",lengthTooShortStart:"القيمة المدخل أقصر من ",notConfirmed:"لم يتم تأكيد القيمة المدخلة",badDomain:"قيمة نطاق خاطئة",badUrl:"القيمة المدخلة ليست رابطاً صالحاً",badCustomVal:"القيمة المدخلة غير صالحة",andSpaces:" ومسافات ",badInt:"القيمة المدخلة ليست رقماً صحيحاً",badSecurityNumber:"رقم بطاقة الهوية غير صحيح",badUKVatAnswer:"رقم UK VAT غير صحيح",badUKNin:"غير صحيح UK NINرقم ",badUKUtr:"غير صحيح UK UTR رقم",badStrength:"كلمة المرور غير قوية",badNumberOfSelectedOptionsStart:"يجب اختيار على الأقل ",badNumberOfSelectedOptionsEnd:" أجوبة",badAlphaNumeric:"القيمة المدخلة يجب أن تتضمن حروف وأرقام فقط ",badAlphaNumericExtra:" و ",wrongFileSize:"الملف المراد تحميله كبير جداً (الحد المسموج %s)",wrongFileType:"ملفات من نوع %s فقط مسموحة",groupCheckedRangeStart:"من فضلك اختر بين ",groupCheckedTooFewStart:"من فضلك اختر على الأقل ",groupCheckedTooManyStart:"من فضلك اختر بحد أقصى ",groupCheckedEnd:" مرات",badCreditCard:"رقم بطاقة ائتمانية خاطىء",badCVV:"رمز الأمان خاطئ",wrongFileDim:"حدود الصورة غير صالحة",imageTooTall:"الصورة يمكن أن تكون أطول من",imageTooWide:"الصورة يمكن أن تكون أعرض من",imageTooSmall:"صورة صغيرة جداً",min:"أدنى",max:"أقصى",imageRatioNotAccepted:"أبعاد صورة غير مقبولة",badBrazilTelephoneAnswer:"رقم هاتف مدخل خاطىء",badBrazilCEPAnswer:"قيمة CEP المدخلة غير صحيحة",badBrazilCPFAnswer:"قيمة CPF المدخلة غير صحيحة",badPlPesel:"قيمة Pl PESEL المدخلة غير صحيحة",badPlNip:"قيمة Pl NIP المدخلة غير صحيحة",badPlRegon:"قيمة Pl REGON المدخلة غير صحيحة",badreCaptcha:"من فضلك أكد أنك لست روبوتاً",passwordComplexityStart:"كملة المرور تتكون على الأقل من ",passwordComplexitySeparator:", ",passwordComplexityUppercaseInfo:" حروف كبيرة",passwordComplexityLowercaseInfo:" حروف صغيرة",passwordComplexitySpecialCharsInfo:" رموز خاصة",passwordComplexityNumericCharsInfo:" أرقام",passwordComplexityEnd:"."}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/de.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/de"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"Ihre Anfrage konnte nicht gesendet werden!",requiredField:"Dies ist ein Pflichtfeld",requiredFields:"Sie haben nicht alle Fragen beantwortet",badTime:"Sie haben nicht die korrekte Zeit eingegeben",badEmail:"Sie haben keine gültige E-Mail-Adresse eingegeben",badTelephone:"Sie haben keine richtige Telefonnummer eingetragen",badSecurityAnswer:"Sie haben die falsche Antwort auf die Sicherheitsfrage eingegeben",badDate:"Eingabe eines falschen Datums",lengthBadStart:"Der eingegebene Wert muss dazwischen sein ",lengthBadEnd:"  Zeichen",lengthTooLongStart:"Der eingegebene Wert ist größer als ",lengthTooShortStart:"Der eingegebene Wert ist kleiner als ",notConfirmed:"Die Eingaben sind unterschiedlich",badDomain:"Sie haben die falsche Domäne eingetragen",badUrl:"Sie haben nicht die richtige URL eingegeben",badCustomVal:"Eingabe einer falschen Antwort",andSpaces:" und Leerzeichen",badInt:"Sie haben keine Nummer eingegeben",badSecurityNumber:"Sie haben eine falsche Sozialversicherungsnummer eingegeben",badUKVatAnswer:"Sie haben keine UK-Umsatzsteuer-Identifikationsnummer eingegeben",badStrength:"Sie haben ein Kennwort, das nicht sicher genug ist eingegeben",badNumberOfSelectedOptionsStart:"Wählen Sie zu mindestens ",badNumberOfSelectedOptionsEnd:" Antwort",badAlphaNumeric:"Sie können nur alphanumerische Zeichen (Buchstaben und Zahlen) eingeben",badAlphaNumericExtra:" und",wrongFileSize:"Die Datei, die Sie hochzuladen versuchen, ist zu groß (max %s)",wrongFileType:"Nur Dateien vom Typ %s sind zulässig",groupCheckedRangeStart:"Wählen Sie zwischen",groupCheckedTooFewStart:"Dann müssen Sie zumindest sicher,",groupCheckedTooManyStart:"Sie können nicht mehr als zu machen",groupCheckedEnd:" Auswahl",badCreditCard:"Sie haben eine ungültige Kreditkartennummer eingegeben",badCVV:"Sie haben eine falsche CVV eingegeben",wrongFileDim:"Illegale Bildgröße,",imageTooTall:"Bild kann nicht größer sein als",imageTooWide:"Bild kann nicht breiter sein als",imageTooSmall:"Bild ist zu klein",min:"min",max:"max",imageRatioNotAccepted:"Bildverhältnis wird nicht akzeptiert",badBrazilTelephoneAnswer:"Die eingegebene Telefonnummer ist nicht korrekt",badBrazilCEPAnswer:"Der CEP ist ungültig",badBrazilCPFAnswer:"Der CEP ist ungültig"}})}(a,window)}); -------------------------------------------------------------------------------- /src/lang/no.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Norwegian language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function ($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/no'); 15 | 16 | $(window).bind('validatorsLoaded', function () { 17 | 18 | $.formUtils.LANG = { 19 | andSpaces: ' og mellomrom ', 20 | badAlphaNumeric: 'Inntastningsverdien kan kun inneholde alfanumeriske tegn ', 21 | badAlphaNumericExtra: ' og ', 22 | badCVV: 'CVV-nummeret var ikke korrekt', 23 | badCreditCard: 'Kredittkortnummeret er ikke korrekt', 24 | badCustomVal: 'Inntastingsverdien er ikke korrekt', 25 | badDate: 'Du har ikke oppgitt en korrekt dato', 26 | badDomain: 'Ukorrekt domeneverdi', 27 | badEmail: 'Du har ikke oppgitt en korrekt e-postadresse', 28 | badInt: 'Inntastingsverdien er ikke et korrekt tall', 29 | badNumberOfSelectedOptionsEnd: ' svar', 30 | badNumberOfSelectedOptionsStart: 'Du må velge minst ', 31 | badSecurityAnswer: 'Du har ikke oppgitt et korrekt svar på sikkerhetsspørsmålet', 32 | badSecurityNumber: 'Ditt personnummer var ukorrekt', 33 | badStrength: 'Passordet er ikke sterkt nok', 34 | badTelephone: 'Du har ikke oppgitt et korrekt telefonnummer', 35 | badTime: 'Du har ikke oppgitt en korrekt tid', 36 | badUrl: 'Inntastingsverdien er ikke en korrekt URL', 37 | badreCaptcha: 'Vennligst bekreft at du ikke er en robot', 38 | errorTitle: 'Innsending av skjemaet feilet!', 39 | groupCheckedEnd: ' ting', 40 | groupCheckedRangeStart: 'Vennligst velg mellom ', 41 | groupCheckedTooFewStart: 'Vennligst velg minst ', 42 | groupCheckedTooManyStart: 'Vennligst velg maksimum ', 43 | imageRatioNotAccepted: 'Bildestørrelse ikke akseptert', 44 | imageTooSmall: 'bildet er for lite', 45 | imageTooTall: 'bildet kan ikke være høyere enn', 46 | imageTooWide: 'bildet kan ikke være bredere enn', 47 | lengthBadEnd: 'tegn', 48 | lengthBadStart: 'Inntastingsverdien må være mellom ', 49 | lengthTooLongStart: 'Inntastingsverdien er lenger enn ', 50 | lengthTooShortStart: 'Inntastingsverdien er kortere enn ', 51 | max: 'maks', 52 | min: 'min', 53 | notConfirmed: 'Inntastingsverdier kunne ikke bekreftes', 54 | requiredField: 'Dette er et obligatorisk felt', 55 | requiredFields: 'Du har ikke besvart alle obligatoriske felt', 56 | wrongFileDim: 'Ukorrekte bildedimensjoner,', 57 | wrongFileSize: 'Bildet du prøver å laste opp er for stort (max %s)', 58 | wrongFileType: 'Kun filer av type %s er tillatt' 59 | }; 60 | 61 | }); 62 | 63 | })(jQuery, window); 64 | -------------------------------------------------------------------------------- /src/lang/nl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Dutch language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function ($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/nl'); 15 | 16 | $(window).bind('validatorsLoaded', function () { 17 | 18 | $.formUtils.LANG = { 19 | andSpaces: ' en spaties ', 20 | badAlphaNumeric: 'De ingevoerde waarde mag alleen alfabetische karakters bevatten', 21 | badAlphaNumericExtra: ' en ', 22 | badCVV: 'Het CVV nummer was onjuist', 23 | badCreditCard: 'Het creditcardnummer is onjuist', 24 | badCustomVal: 'De ingevoerde waarde is onjuist', 25 | badDate: 'U heeft niet de juiste datum aangegeven', 26 | badDomain: 'Incorrect domein', 27 | badEmail: 'U heeft een onjuist e-mailadres ingevoerd ', 28 | badInt: 'De ingevoerde waarde was een onjuist getal', 29 | badNumberOfSelectedOptionsEnd: ' antwoorden', 30 | badNumberOfSelectedOptionsStart: 'U moet tenminste ', 31 | badSecurityAnswer: 'U heeft de beveilingsvraag onjuist beantwoord', 32 | badSecurityNumber: 'Uw burgerservicenummer was incorrect', 33 | badStrength: 'Het wachtwoord is niet veilig genoeg', 34 | badTelephone: 'U heeft een onjuist telefoonnummer ingevoerd', 35 | badTime: 'U heeft een incorrecte tijd aangegeven', 36 | badUrl: 'De ingevoerde waarde is geen correcte URL', 37 | badreCaptcha: 'Bevestig a.u.b. dat u geen robot bent', 38 | errorTitle: 'Indienen van formulier mislukt!', 39 | groupCheckedEnd: ' item(s)', 40 | groupCheckedRangeStart: 'Kies a.u.b. tussen ', 41 | groupCheckedTooFewStart: 'Kies a.u.b. ten minste ', 42 | groupCheckedTooManyStart: 'Kies a.u.b. maximaal ', 43 | imageRatioNotAccepted: 'De afbeeldingsverhouding wordt niet geaccepteerd', 44 | imageTooSmall: 'de afbeelding was te klein', 45 | imageTooTall: 'de afbeelding kan niet langer zijn dan', 46 | imageTooWide: 'de afbeelding kan niet wijder zijn dan', 47 | lengthBadEnd: ' karakters', 48 | lengthBadStart: 'De ingevoerde waarde moet liggen tussen ', 49 | lengthTooLongStart: 'De ingevoerde waarde is langer dan ', 50 | lengthTooShortStart: 'De ingevoerde waarde is korter dan ', 51 | max: 'max', 52 | min: 'min', 53 | notConfirmed: 'Invoerwaarden konden niet worden bevestigd', 54 | requiredField: 'Dit is een verplicht veld', 55 | requiredFields: 'U heeft niet alle verplichte velden ingevuld', 56 | wrongFileDim: 'Incorrecte afbeeldingsafmetingen,', 57 | wrongFileSize: 'Het bestand dat u probeert te uploaden is te groot (max %s)', 58 | wrongFileType: 'Alleen type %s bestanden zijn toegestaan' 59 | }; 60 | 61 | }); 62 | 63 | })(jQuery, window); 64 | -------------------------------------------------------------------------------- /form-validator/lang/ka.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/ka"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"ფორმა ვერ გაიგზავნა!",requiredField:"ველის შევსება სავალდებულოა",requiredFields:"თქვენ არ შეგივსიათ ყველა სავალდებულო ველი",badTime:"თქვენ მიუთითეთ არასწორი დრო",badEmail:"თქვენ მიუთითეთ არასწორი ელ.ფოსტის მისამართი",badTelephone:"თქვენ მიუთითეთ არასწორი ტელეფონის ნომერი",badSecurityAnswer:"თქვენ გაეცით არასწორი პასუხი უსაფრთხოების კითხვას",badDate:"თქვენ მიუთითეთ არასწორი თარიღი",lengthBadStart:"ველის მნიშვნელობის სიგრძე უნდა იყოს ",lengthBadEnd:" შუალედში",lengthTooLongStart:"ველის მნიშვნელობის სიგრძე უნდა იყოს მაქსიმუმ ",lengthTooShortStart:"ველის მნიშვნელობის სიგრძე უნდა იყოს მინიმუმ ",notConfirmed:"ველის მნიშვნელობები ვერ დადასტურდა",badDomain:"არასწორი დომენის მისამართი",badUrl:"ველის მნიშვნელობა არ არის მართებული URL მისამართი",badCustomVal:"ველის მნიშვნელობა არ არის მართებული",andSpaces:" და გამოტოვებები ",badInt:"ველის მნიშვნელობა არ არის მართებული რიცხვი",badStrength:"პაროლი არ არის საკმარისად ძლიერი (კარგი)",badNumberOfSelectedOptionsStart:"თქვენ უნდა აირჩიოთ სულ მცირე ",badNumberOfSelectedOptionsEnd:" პასუხი",badAlphaNumeric:"ველის მნიშვნელობა უნდა შეიცავდეს მხოლოდ ციფრებსა და ასოებს ",badAlphaNumericExtra:" და ",wrongFileSize:"ფაილი, რომლის ატვირთვასაც ცდილობთ არის ძალიან დიდი (დასაშვებია მაქსიმუმ %s)",wrongFileType:"დასაშვებია მხოლოდ შემდეგი გაფართოების ფაილები: %s",groupCheckedRangeStart:"გთხოვთ, აირჩიოთ ",groupCheckedTooFewStart:"გთხოვთ, აირჩიოთ სულ მცირე ",groupCheckedTooManyStart:"გთხოვთ, აირჩიოთ მაქსიმუმ ",groupCheckedEnd:" პუნქტი",badCreditCard:"საკრედიტო ბარათის ნომერი არ არის მართებული",badCVV:"CVV კოდი არ არის მართებული",wrongFileDim:"არამართებული სურათის ზომები,",imageTooTall:"სურათი არ უნდა იყოს უფრო გრძელი ვიდრე",imageTooWide:"სურათი არ უნდა იყოს უფრო ფართე ვიდრე",imageTooSmall:"სურათი არის ძალიან პატარა",min:"მინიმუმ",max:"მაქსიმუმ",imageRatioNotAccepted:"სურათის სიგრძისა და სიგანის ეს თანაფარდობა დაუშვებელია",badBrazilTelephoneAnswer:"მითითებული ტელეფონის ნომერი არ არის მართებული",badreCaptcha:"დაადასტურეთ, რომ არ ხართ რობოტი",passwordComplexityStart:"პაროლი უნდა შეიცავდეს მინიმუმ ",passwordComplexitySeparator:", ",passwordComplexityUppercaseInfo:" დიდი ასო(ები)",passwordComplexityLowercaseInfo:" პატარა ასო(ები)",passwordComplexitySpecialCharsInfo:" სპეციალური სიმბოლო(ები)",passwordComplexityNumericCharsInfo:" რიცხვითი მნიშვნელობა(ები)",passwordComplexityEnd:"."}})}(a,window)}); -------------------------------------------------------------------------------- /src/lang/ru.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Russian language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/ru'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | 20 | errorTitle: 'Ошибка отправки формы!', 21 | requiredField: 'Это обязательное поле', 22 | requiredFields: 'Вы задали не все обязательные поля', 23 | badTime: 'Вы задали некорректное время', 24 | badEmail: 'Вы задали некорректный e-mail', 25 | badTelephone: 'Вы задали некорректный номер телефона', 26 | badSecurityAnswer: 'Вы задали некорректный ответ на секретный вопрос', 27 | badDate: 'Вы задали некорректную дату', 28 | lengthBadStart: 'Значение должно быть в диапазоне', 29 | lengthBadEnd: ' символов', 30 | lengthTooLongStart: 'Значение длинее, чем ', 31 | lengthTooShortStart: 'Значение меньше, чем ', 32 | notConfirmed: 'Введённые значения не могут быть подтверждены', 33 | badDomain: 'Некорректное значение домена', 34 | badUrl: 'Некорретный URL', 35 | badCustomVal: 'Введённое значение неверно', 36 | andSpaces: ' и пробелы ', 37 | badInt: 'Значение - не число', 38 | badSecurityNumber: 'Введённый защитный номер - неправильный', 39 | badUKVatAnswer: 'Некорректный UK VAT номер', 40 | badStrength: 'Пароль не достаточно надёжен', 41 | badNumberOfSelectedOptionsStart: 'Вы должны выбрать как минимум ', 42 | badNumberOfSelectedOptionsEnd: ' ответов', 43 | badAlphaNumeric: 'Значение должно содержать только числа и буквы ', 44 | badAlphaNumericExtra: ' и ', 45 | wrongFileSize: 'Загружаемый файл слишком велик (максимальный размер %s)', 46 | wrongFileType: 'Принимаются файлы следующих типов %s', 47 | groupCheckedRangeStart: 'Выберите между ', 48 | groupCheckedTooFewStart: 'Выберите как минимум ', 49 | groupCheckedTooManyStart: 'Выберите максимум из ', 50 | groupCheckedEnd: ' элемент(ов)', 51 | badCreditCard: 'Номер кредитной карты некорректен', 52 | badCVV: 'CVV номер некорректно', 53 | wrongFileDim : 'Неверные размеры графического файла,', 54 | imageTooTall : 'изображение не может быть уже чем', 55 | imageTooWide : 'изображение не может быть шире чем', 56 | imageTooSmall : 'изображение слишком мало', 57 | min : 'минимум', 58 | max : 'максимум', 59 | imageRatioNotAccepted : 'Изображение с таким соотношением сторон не принимается', 60 | badBrazilTelephoneAnswer: 'Введённый номер телефона неправильный', 61 | badBrazilCEPAnswer: 'CEP неправильный', 62 | badBrazilCPFAnswer: 'CPF неправильный' 63 | }; 64 | 65 | }); 66 | 67 | })(jQuery, window); 68 | -------------------------------------------------------------------------------- /form-validator/lang/pl.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/pl"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"Złożenie formularza nie powiodło się!",requiredField:"To pole jest wymagane",requiredfields:"Nie wszystkie wymagane pola zostały wypełnione",badTime:"Wprowadzono niepoprawny czas",badEmail:"Wprowadzono niepoprawny adres e-mail",badTelephone:"Wprowadzono niepoprawny numeru telefonu",badSecurityAnswer:"Nieprawidłowa odpowiedź na pytanie bezpieczeństwa",badDate:"Niepoprawna data",lengthBadStart:"Wprowadzona wartość musi być pomiędzy ",lengthBadEnd:" znaków",lengthTooLongStart:"Wprowadzona wartość jest większa niż ",lengthTooShortStart:"Wprowadzona wartość jest mniejsza niż ",notConfirmed:"Wprowadzone wartości nie zostały potwierdzone",badDomain:"Nieprawidłowa wartość domeny",badUrl:"Wprowadzono nieprawidłowy adres URL",badCustomVal:"Wprowadzona wartość jest niepoprawna",andSpaces:" i odstępy",badInt:"Wprowadzono nieprawidłowy numer",badSecurityNumber:"Wprowadzono niepoprawny numer ubezpieczenia społecznego",badUKVatAnswer:"Wprowadzono niepoprawny brytyjski numer VAT",badUKNin:"Wprowadzono niepoprawny brytyjski numer NIP",badUKUtr:"Wprowadzono niepoprawny brytyjski numer podatnika",badStrength:"Twoje hasło nie jest wystarczająco mocne",badNumberOfSelectedOptionsStart:"Musisz wybrać przynajmniej ",badNumberOfSelectedOptionsEnd:" odpowiedzi",badAlphaNumeric:"Wprowadzona wartość może zawierać tylko znaki alfanumeryczne ",badAlphaNumericExtra:" i ",wrongFileSize:"Wysyłany plik jest zbyt duży (max %s)",wrongFileType:"Dozwolone są tylko pliki typu %s",groupCheckedRangeStart:"Proszę wybrać pomiędzy ",groupCheckedTooFewStart:"Proszę wybrać przynajmniej ",groupCheckedTooManyStart:"Proszę wybrać maksymalnie ",groupCheckedEnd:" element(ów)",badCreditCard:"Podany numer karty kredytowej jest nieprawidłowy",badCVV:"Podany numer CVV jest nieprawidłowy",wrongFileDim:"Nieprawidłowe wymiary obrazu,",imageTooTall:"obraz nie może być wyższa niż",imageTooWide:"obraz nie może być szerszy niż",imageTooSmall:"obraz jest zbyt mały",min:"min",max:"max",imageRatioNotAccepted:"Proporcje obrazu są niepoprawne",badBrazilTelephoneAnswer:"Wprowadzono niepoprawny numer telefonu",badBrazilCEPAnswer:"Wprowadzono niepoprawny CEP",badBrazilCPFAnswer:"Wprowadzono niepoprawny CPF",badPlPesel:"Wprowadzono niepoprawny numer PESEL",badPlNip:"Wprowadzono niepoprawny numer NIP",badPlRegon:"Wprowadzono niepoprawny numer REGON",badreCaptcha:"Potwierdź że nie jesteś botem!"}})}(a,window)}); -------------------------------------------------------------------------------- /src/lang/da.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Danish language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/da'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | andSpaces: ' og mellemrum ', 20 | badAlphaNumeric: 'Det indtastede kan kun indeholde alfanumeriske karakter ', 21 | badAlphaNumericExtra: ' og ', 22 | badCVV: 'Det angivne CVV nummer er ugyldigt', 23 | badCreditCard:'Det angivne kortnummer er ugyldigt', 24 | badCustomVal: 'Den indtastede værdi er ugyldig', 25 | badDate: 'Den angivne dato er ugyldig', 26 | badDomain: 'Det angivne domæne er ugyldigt', 27 | badEmail: 'Den angivne email adresse er ugyldig', 28 | badInt: 'Det angivne tal er ugyldigt', 29 | badNumberOfSelectedOptionsEnd: ' svar', 30 | badNumberOfSelectedOptionsStart: 'Du skal vælge mindst ', 31 | badSecurityAnswer: 'Du har ikke angivet et korrekt svar til sikkerhedsspørgsmålet', 32 | badSecurityNumber: 'Dit CPR nummer er ikke korrekt', 33 | badStrength: 'Det angivne password er ikke stærkt nok', 34 | badTelephone: 'Det angivne telefonnummer er ugyldigt', 35 | badTime: 'Det angivne tidspunkt er ugyldigt', 36 | badUrl: 'Den angivne URL er ugyldig', 37 | badreCaptcha: 'Verificer venligst at du ikke er en bot', 38 | errorTitle: 'Formular forespørgslen fejlede!', 39 | groupCheckedEnd: ' ting', 40 | groupCheckedRangeStart: 'Vælg venligst mellem ', 41 | groupCheckedTooFewStart: 'Vælg mindst ', 42 | groupCheckedTooManyStart: 'Vælg højst ', 43 | imageRatioNotAccepted: 'Billedets dimensioner er ikke acceptable', 44 | imageTooSmall: 'Billedet er for lille', 45 | imageTooTall: 'Billedet må ikke være højere end', 46 | imageTooWide: 'Billedet må ikke være bredere end', 47 | lengthBadEnd: ' tegn', 48 | lengthBadStart: 'Feltets værdi skal være mellem ', 49 | lengthTooLongStart: 'Feltets værdi må ikke være længere end ', 50 | lengthTooShortStart: 'Feltets værdi må ikke være kortere end ', 51 | max: 'max', 52 | min: 'min', 53 | notConfirmed: 'Feltværdierne kunne ikke bekræftes', 54 | requiredField: 'Dette felt er påkrævet', 55 | requiredFields: 'Du har ikke udfyldt alle påkrævede felter', 56 | wrongFileDim: 'Forkerte billede dimensioner,', 57 | wrongFileSize: 'Filen du forsøger at uploade er for stor (max %s)', 58 | wrongFileType: 'Udelukkende filer at følgedne type er tilladt %s' 59 | }; 60 | 61 | }); 62 | 63 | })(jQuery, window); 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /src/lang/sv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Swedish language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/sv'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'Formuläret kunde inte skickas!', 20 | requiredField: 'Detta är ett obligtoriskt fält', 21 | requiredFields: 'Du har inte besvarat alla frågor', 22 | badTime: 'Du har inte angett en korrekt tidpunkt', 23 | badEmail: 'Du har inte angett en korrekt e-postadress', 24 | badTelephone: 'Du har inte angett ett korrekt telefonnummer', 25 | badSecurityAnswer: 'Du har angett fel svar på säkerhetsfrågan', 26 | badDate: 'Du har anget ett felaktigt datum', 27 | lengthBadStart: 'Ditt svar måste innehålla mellan ', 28 | lengthBadEnd: ' tecken', 29 | lengthTooLongStart: 'Du har angett ett svar som är längre än ', 30 | lengthTooShortStart: 'Du har angett ett svar som är kortare än ', 31 | notConfirmed: 'Svaren kunde inte bekräfta varandra', 32 | badDomain: 'Du har angett en inkorrekt domän', 33 | badUrl: 'Du har inte angett en korrekt webbadress', 34 | badCustomVal: 'Du har anget ett inkorrekt svar', 35 | andSpaces: ' och mellanslag ', 36 | badInt: 'Du har inte angett en siffra', 37 | badSecurityNumber: 'Du har angett ett felaktigt personnummer', 38 | badUKVatAnswer: 'Du har inte angett ett brittiskt moms-nummer', 39 | badStrength: 'Du har angett ett lösenord som inte är nog säkert', 40 | badNumberOfSelectedOptionsStart: 'Du måste åtminstone välja ', 41 | badNumberOfSelectedOptionsEnd: ' svarsalternativ', 42 | badAlphaNumeric: 'Du kan endast svara med alfanumersika tecken (a-z och siffror)', 43 | badAlphaNumericExtra: ' och ', 44 | wrongFileSize: 'Filen du försöker ladda upp är för stor (max %s)', 45 | wrongFileType: 'Endast filer av typen %s är tillåtna', 46 | groupCheckedRangeStart: 'Välj mellan ', 47 | groupCheckedTooFewStart: 'Då måste göra minst ', 48 | groupCheckedTooManyStart: 'Du får inte göra fler än ', 49 | groupCheckedEnd: ' val', 50 | badCreditCard: 'Du har angett ett felaktigt kreditkortsnummer', 51 | badCVV: 'Du har angett ett felaktigt CVV-nummer', 52 | wrongFileDim : 'Otillåten bildstorlek,', 53 | imageTooTall : 'bilden får inte vara högre än', 54 | imageTooWide : 'bilden får inte vara bredare än', 55 | imageTooSmall : 'bilden är för liten', 56 | genericBadInputValue : 'The input value can be accepted', 57 | min : 'minst', 58 | max : 'max', 59 | imageRatioNotAccepted : 'Bildens dimensioner (förhållandet mellan höjd och längd) kan inte accepteras' 60 | }; 61 | 62 | }); 63 | 64 | })(jQuery, window); 65 | -------------------------------------------------------------------------------- /src/lang/ro.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Romanian language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/ro'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'Nu sa reusit lansarea formularului!', 20 | requiredField: 'Acest câmp este obligatoriu', 21 | requiredfields: 'Nu toate câmpurile obligatorii au fost completate', 22 | badTime: 'Timpul introdus este incorect', 23 | badEmail: 'Adresa de e-mail este incorectă', 24 | badTelephone: 'Numărul de telefon este incorect', 25 | badSecurityAnswer: 'Răspuns incorect la întrebarea de siguran?ă', 26 | badDate: 'Dară incorectă', 27 | lengthBadStart: 'Valoarea introdusă trebuie să fie interval ', 28 | lengthBadEnd: ' caractere', 29 | lengthTooLongStart: 'Valoarea introdusă este mai mare decât ', 30 | lengthTooShortStart: 'Valoarea introdusă este mai mică decât ', 31 | notConfirmed: 'Valorile introduse nu au fost confirmate', 32 | badDomain: 'Domeniul este incorect', 33 | badUrl: 'Adresa URL este incorectă', 34 | badCustomVal: 'Valoarea introdusă este incorectă', 35 | andSpaces: ' şi spaţierea', 36 | badInt: 'Numărul introdus este incorect', 37 | badSecurityNumber: 'Numărul de asigurare introdus este incorect', 38 | badUKVatAnswer: 'Numărul CIF introdus este incorect', 39 | badStrength: 'Parola Dvs nu este suficient de sigură', 40 | badNumberOfSelectedOptionsStart: 'Trebuie să alegi măcar ', 41 | badNumberOfSelectedOptionsEnd: ' răspunsuri', 42 | badAlphaNumeric: 'Valoarea introdusă trebuie să con însă doar caractere alfanumerice ', 43 | badAlphaNumericExtra: ' și ', 44 | wrongFileSize: 'Fisierul trimis este prea mare (max %s)', 45 | wrongFileType: 'Se acceptă doar fisiere tip %s', 46 | groupCheckedRangeStart: 'Te rog alege între ', 47 | groupCheckedTooFewStart: 'Te rog alege măcar ', 48 | groupCheckedTooManyStart: 'Te rog alege maxim ', 49 | groupCheckedEnd: ' elemnt(e)', 50 | badCreditCard: 'Numărul de card introdus este incorect', 51 | badCVV: 'Numărul CVV introdus este incorect', 52 | wrongFileDim: 'Dimensiunea imaginii este incorectă,', 53 | imageTooTall: 'imaginea nu poate fi mai înaltă decât', 54 | imageTooWide: 'imaginea nu poate fi mai lată decât', 55 | imageTooSmall: 'imaginea este prea mică', 56 | min: 'min', 57 | max: 'max', 58 | imageRatioNotAccepted: 'Proportiile imaginii sunt incorecte', 59 | badBrazilTelephoneAnswer: 'Numărul de telefon introdus este incorect.', 60 | badBrazilCEPAnswer: 'CEP incorect', 61 | badBrazilCPFAnswer: 'CPF incorect' 62 | }; 63 | 64 | }); 65 | 66 | })(jQuery, window); 67 | -------------------------------------------------------------------------------- /form-validator/lang/es.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/es"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"El formulario no se ha podido enviar!",requiredField:"Este campo es obligatorio",requiredFields:"No ha contestado todos los campos requeridos",badTime:"La hora proporcionada no es válida",badEmail:"La dirección de e-mail no es válida",badTelephone:"El número de teléfono proporcionado no es válido",badSecurityAnswer:"La respuesta a su pregunta de seguridad es incorrecta",badDate:"La fecha proporcionada no es válida",lengthBadStart:"Su respuesta debe incluir entre ",lengthBadEnd:" caracteres",lengthTooLongStart:"Su respuesta debe de ser menor a ",lengthTooShortStart:"Su respuesta debe de ser mayor a ",notConfirmed:"Los valores proporcionados no pudieron ser confirmados",badDomain:"Ha introducido un dominio incorrecto",badUrl:"La URL proporcionada no es válida",badCustomVal:"Los valores proporcionados no son válidos",andSpaces:" y espacios ",badInt:"El valor proporcionado no es un número válido",badSecurityNumber:"El número de seguridad social proporcionado es incorrecto",badUKVatAnswer:"El número VAT proporcionado no es válido para el Reino Unido",badStrength:"La contraseña proporcionada no es lo suficientemente segura",badNumberOfSelectedOptionsStart:"Debe seleccionar al menos",badNumberOfSelectedOptionsEnd:" respuesta(s)",badAlphaNumeric:"El valor proporcionado solo debe contener caracteres alfanuméricos (a-z y números)",badAlphaNumericExtra:" y",wrongFileSize:"El archivo que está tratando de subir es demasiado grande (máx. %s)",wrongFileType:"Sólo los archivos del tipo %s están permitido",groupCheckedRangeStart:"Por favor, elija entre ",groupCheckedTooFewStart:"Por favor, elija al menos ",groupCheckedTooManyStart:"Por favor, elija un máximo de ",groupCheckedEnd:" ítem(s)",badCreditCard:"El número de tarjeta de crédito proporcionado no es válido",badCVV:"CVV proporcionado no es válido",wrongFileDim:"Las dimensiones de la imagen no son validas,",imageTooTall:"el alto de la imagen no puede ser mayor a",imageTooWide:"el ancho de la imagen no puede ser mayor a",imageTooSmall:"la imagen es demasiado pequeña",min:"min.",max:"máx.",imageRatioNotAccepted:"La proporción de imagen (alto x ancho) no es válida",passwordComplexityStart:"La contraseña debe contener al menos ",passwordComplexitySeparator:", ",passwordComplexityUppercaseInfo:" mayúscula(s)",passwordComplexityLowercaseInfo:" minúscula(s)",passwordComplexitySpecialCharsInfo:" caracter(es) especial(es)",passwordComplexityNumericCharsInfo:" número(s)",passwordComplexityEnd:"."}})}(a,window)}); -------------------------------------------------------------------------------- /form-validator/lang/tr.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){"use strict";a.formUtils.registerLoadedModule("lang/tr"),a(b).bind("validatorsLoaded",function(){a.formUtils.LANG={errorTitle:"Form gönderilemedi!",requiredField:"Boş bırakılamaz",requiredFields:"Gerekli tüm alanları cevaplamadınız",badTime:"Geçersiz zaman girdiniz",badEmail:"Geçersiz e-posta adresi girdiniz",badTelephone:"Geçersiz telefon numarası girdiniz",badSecurityAnswer:"Güvenlik sorusuna doğru cevap vermediniz",badDate:"Geçersiz tarih girdiniz",lengthBadStart:"Girilen değer ",lengthBadEnd:" karakter olmalıdır",lengthTooLongStart:"Girilen değer en fazla ",lengthTooShortStart:"Girilen değer en az ",notConfirmed:"Girilen değerler uyuşmuyor",badDomain:"Geçersiz alan adı girdiniz",badUrl:"Geçersiz bağlantı girdiniz",badCustomVal:"Geçersiz değer girdiniz",andSpaces:" ve boşluk ",badInt:"Girilen değer sayı olamlıdır",badSecurityNumber:"Geçersiz güvenlik kodu girdiniz",badUKVatAnswer:"Geçersiz İngiltere KDV numarası girdiniz",badUKNin:"Geçersiz İngiltere NIN numarası girdiniz",badUKUtr:"Geçersiz İngiltere UTR numarası girdiniz",badStrength:"Şifreniz yeterince güçlü değil",badNumberOfSelectedOptionsStart:"En az ",badNumberOfSelectedOptionsEnd:" cevap seçmeniz gerekiyor",badAlphaNumeric:"Kabul edilen değer sadece alfanümerik karakterler ",badAlphaNumericExtra:" ve ",wrongFileSize:"Yüklemeye çalıştığınız dosya (en fazla %s) çok büyük",wrongFileType:"Yalnızca %s türündeki dosyaları yükleyebilirsiniz",groupCheckedRangeStart:"Lütfen ",groupCheckedTooFewStart:"Lütfen en az ",groupCheckedTooManyStart:"Lütfen en fazla ",groupCheckedEnd:" adet seçiniz",badCreditCard:"Geçersiz kredi kartı numarası girdiniz",badCVV:"Geçersiz CVV numarası girdiniz",wrongFileDim:"Hatalı resim yüklediniz çünkü",imageTooTall:"resim daha uzun olamaz",imageTooWide:"resim daha geniş olamaz",imageTooSmall:"görüntü çok küçük",min:"min",max:"max",imageRatioNotAccepted:"Kabul edilmeye görüntü oranı",badBrazilTelephoneAnswer:"Geçersiz telefon numarası girdiniz",badBrazilCEPAnswer:"Geçersiz Brezilya posta kodu girdiniz",badBrazilCPFAnswer:"Geçersiz Brezilya mükellef kayıt kimliği girdiniz",badPlPesel:"Geçersiz Polonya kişisel kimlik numarası girdiniz",badPlNip:"Geçersiz DKV girdiniz",badPlRegon:"Geçersiz Polonya ticari kimlik numarası girdiniz",badreCaptcha:"Lütfen bot olmadığınızı doğrulayın",passwordComplexityStart:"Şifreniz en az ",passwordComplexitySeparator:", ",passwordComplexityUppercaseInfo:" büyük harf",passwordComplexityLowercaseInfo:" küçük harf",passwordComplexitySpecialCharsInfo:" özel karakter",passwordComplexityNumericCharsInfo:" sayısal karakter",passwordComplexityEnd:" içermelidir"}})}(a,window)}); -------------------------------------------------------------------------------- /src/lang/ca.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Catalan language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/ca'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'El formulari no s\'ha pogut enviar!', 20 | requiredField: 'Aquest camp és obligatori', 21 | requiredFields: 'No ha contestat tots els camps requerits', 22 | badTime: 'L\'hora proporcionada no és vàlida', 23 | badEmail: 'La direcció d\'e-mail no és vàlida', 24 | badTelephone: 'El número de telèfon proporcionat no és vàlid', 25 | badSecurityAnswer: 'La resposta a la seva pregunta de seguretat és incorrecte', 26 | badDate: 'La data proporcionada no és vàlida', 27 | lengthBadStart: 'La seva resposta s\'ha d\'incloure entre ', 28 | lengthBadEnd: ' caràcters', 29 | lengthTooLongStart: 'La seva resposta ha de ser menor a ', 30 | lengthTooShortStart: 'La seva resposta ha de ser major a ', 31 | notConfirmed: 'Els valors proporcionats no poden ser confirmats', 32 | badDomain: 'Ha introduït un domini incorrecte', 33 | badUrl: 'La URL proporcionada no és vàlida', 34 | badCustomVal: 'Els valors proporcionats no són vàlids', 35 | andSpaces: ' i espais ', 36 | badInt: 'El valor proporcionat no és un número vàlid', 37 | badSecurityNumber: 'El número de seguretat social proporcionat és incorrecte', 38 | badUKVatAnswer: 'El número VAT proporcionat no és vàlid pel Regne Unit', 39 | badStrength: 'La contrasenya proporcionada no és suficientment segura', 40 | badNumberOfSelectedOptionsStart: 'Ha de seleccionar almenys', 41 | badNumberOfSelectedOptionsEnd: ' resposta(es)', 42 | badAlphaNumeric: 'El valor proporcionat només ha de contenir caràcters alfanumèrics (a-z i números)', 43 | badAlphaNumericExtra: ' i', 44 | wrongFileSize: 'L\'arxiu que està tractant de pujar és massa gran (màx. %s)', 45 | wrongFileType: 'Només els arxius de tipus %s estan permesos', 46 | groupCheckedRangeStart: 'Si us plau, triï entre ', 47 | groupCheckedTooFewStart: 'Si us plau, triï almenys ', 48 | groupCheckedTooManyStart: 'Si us plau, triï un màxim de ', 49 | groupCheckedEnd: ' element(s)', 50 | badCreditCard: 'El número de targeta de crèdit proporcionat no és vàlid', 51 | badCVV: 'CVV proporcionat no és vàlid', 52 | wrongFileDim: 'Les dimensions de la imatge no són vàlides,', 53 | imageTooTall: 'l\'alçada de la imatge no pot ser major a', 54 | imageTooWide: 'l\'amplada de la imatge no pot ser major a', 55 | imageTooSmall: 'la imatge és massa petita', 56 | min: 'min.', 57 | max: 'màx.', 58 | imageRatioNotAccepted : 'La proporció de la imatge (alçada x amplada) no és vàlida' 59 | }; 60 | 61 | }); 62 | 63 | })(jQuery, window); 64 | -------------------------------------------------------------------------------- /src/lang/fr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * French language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/fr'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'Le formulaire n\'a pas pu être envoyé!', 20 | requiredField: 'Ce champ est obligatoire', 21 | requiredFields: 'Vous n\'avez pas rempli tous les champs', 22 | badTime: 'Vous n\'avez pas saisi l\'heure correctement', 23 | badEmail: 'Vous n\'avez pas saisi une adresse e-mail valide', 24 | badTelephone: 'Vous n\'avez pas saisi un numéro de téléphone valide', 25 | badSecurityAnswer: 'Vous avez saisi une mauvaise réponse à la question de sécurité', 26 | badDate: 'Vous n\'avez pas saisi une date correcte', 27 | lengthBadStart: 'Votre saisie doit comporter entre ', 28 | lengthBadEnd: ' caractères', 29 | lengthTooLongStart: 'Vous avez saisi une réponse qui est plus longue que ', 30 | lengthTooShortStart: 'Votre saisie est plus courte que ', 31 | notConfirmed: 'Les saisies ne sont pas identiques', 32 | badDomain: 'Vous avez saisi un domaine incorrect', 33 | badUrl: 'Vous avez saisi une URL incorrecte', 34 | badCustomVal: 'Re-saisissez une réponse correcte', 35 | andSpaces: ' et des espaces ', 36 | badInt: 'Vous n\'avez pas saisi un numéro', 37 | badSecurityNumber: 'Vous avez saisi un mauvais numéro de sécurité sociale', 38 | badUKVatAnswer: 'Vous n\'avez pas saisi un numéro de TVA au Royaume-Uni', 39 | badStrength: 'Vous avez saisi un mot de passe pas assez sécurisé', 40 | badNumberOfSelectedOptionsStart: 'Vous devez sélectionner au moins ', 41 | badNumberOfSelectedOptionsEnd: ' réponse(s)', 42 | badAlphaNumeric: 'Vous ne pouvez répondre qu\'avec des caractères alphanumériques et des chiffres ', 43 | badAlphaNumericExtra: ' et ', 44 | wrongFileSize: 'Le fichier que vous essayez de télécharger est trop grand (max %s)', 45 | wrongFileType: 'Seuls les fichiers du type %s sont autorisés', 46 | groupCheckedRangeStart: 'Choisissez entre ', 47 | groupCheckedTooFewStart: 'Vous devez faire au moins ', 48 | groupCheckedTooManyStart: 'Vous ne pouvez pas faire plus de ', 49 | groupCheckedEnd: ' sélection(s)', 50 | badCreditCard: 'Vous avez saisi un numéro de carte de crédit invalide', 51 | badCVV: 'Vous avez saisi un CVV incorrect', 52 | wrongFileDim: 'Mauvaise taille de l\'image, ', 53 | imageTooTall: 'l\'image ne peut pas être plus élevée que', 54 | imageTooWide: 'l\'image ne peut pas être plus large que', 55 | imageTooSmall: 'l\'image est trop petite', 56 | min: 'moins', 57 | max: 'max', 58 | imageRatioNotAccepted: 'Ratio de l\'image non accepté' 59 | }; 60 | 61 | }); 62 | 63 | })(jQuery, window); 64 | -------------------------------------------------------------------------------- /form-validator/color.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.formUtils.registerLoadedModule("color");var b=function(a){return/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/.test(a)?Number(a):NaN},c=function(a){return a>0&&a<1},d=function(b){return Math.floor(b)===b&&a.isNumeric(b)};a.formUtils.addValidator({name:"hex",validatorFunction:function(a,b){if("true"===b.valAttr("allow-transparent")&&"transparent"===a)return!0;var c="#"===a[0];if(!c)return!1;var d=4===a.length||7===a.length;if(d){var e=/[0-9a-f]/i,f=a.slice(1).split(""),g=!0;return f.forEach(function(a){null===a.match(e)&&(g=!1)}),g}return!1},errorMessage:"",errorMessageKey:"badHex"}),a.formUtils.addValidator({name:"rgb",validatorFunction:function(a,b){if("true"===b.valAttr("allow-transparent")&&"transparent"===a)return!0;var c=a.replace(/ /g,""),e=/rgb\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3}\)/i;if(c.match(e)){var f=c.replace(/rgb/g,""),g=f.replace(/\(/g,"").replace(/\)/g,""),h=g.split(","),i=!0;return h.forEach(function(a){var b=parseInt(a,10);(d(b)&&0<=b&&b<=255)===!1&&(i=!1)}),i}return!1},errorMessage:"",errorMessageKey:"badRgb"}),a.formUtils.addValidator({name:"rgba",validatorFunction:function(a,e){if("true"===e.valAttr("allow-transparent")&&"transparent"===a)return!0;var f=a.replace(/ /g,""),g=/rgba\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0,1]?.?[0-9]*\)/i;if(f.match(g)){var h=f.replace(/rgba/g,""),i=h.replace(/\(/g,"").replace(/\)/g,""),j=i.split(","),k=!0;return j.forEach(function(a,e){var f=b(a);if(d(f)){var g=f>=0&&f<=255;g||(k=!1),k&&3===e&&(k=f>=0&&f<2)}else c(a)||(k=!1)}),k}return!1},errorMessage:"",errorMessageKey:"badRgba"}),a.formUtils.addValidator({name:"hsl",validatorFunction:function(a,b){if("true"===b.valAttr("allow-transparent")&&"transparent"===a)return!0;var c=a.replace(/ /g,""),e=/hsl\(-?[0-9]{1,3},[0-9]{1,3}%,[0-9]{1,3}%\)/i;if(c.match(e)){var f=c.replace(/hsl/g,""),g=f.replace(/\(/g,"").replace(/\)/g,""),h=g.split(","),i=!0;return h.forEach(function(a,b){var c=parseInt(a,10);if(d(c)){if(0!==b){var e=c>=0&&c<=100;e||(i=!1)}}else i=!1}),i}return!1},errorMessage:"",errorMessageKey:"badHsl"}),a.formUtils.addValidator({name:"hsla",validatorFunction:function(a,c){if("true"===c.valAttr("allow-transparent")&&"transparent"===a)return!0;var e,f=a.replace(/ /g,""),g=/hsla\(-?[0-9]{1,3},[0-9]{1,3}%,[0-9]{1,3}%,[0,1]?.?[0-9]*\)/i;if(f.match(g)){var h=f.replace(/hsla/g,""),i=h.replace(/\(/g,"").replace(/\)/g,""),j=i.split(","),k=!0;return j.forEach(function(a,c){var f=b(a),g=parseInt(a,10);d(f)?(0!==c&&3!==c&&(e=f>=0&&f<=100,e||(k=!1)),k&&3===c&&(k=f>=0&&f<2)):isNaN(f)&&d(g)?(e=g>=0&&g<=100,e||(k=!1)):(f=b(Number(a).toFixed(20)),e=f>=0&&f<=1,e||(k=!1))}),k}return!1},errorMessage:"",errorMessageKey:"badHsla"})}(a)}); -------------------------------------------------------------------------------- /src/lang/pt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Portuguese language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/pt'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'O formulário não pode ser enviado!', 20 | requiredField: 'Campo de preenchimento obrigatório', 21 | requiredFields: 'Você ainda não preencheu todos os campos obrigatórios', 22 | badTime: 'A hora digitada não é válida', 23 | badEmail: 'O e-mail digitado não é válido', 24 | badTelephone: 'O telefone digitado não é válido', 25 | badSecurityAnswer: 'A pergunta de segurança não foi respondida corretamente', 26 | badDate: 'A data digitada não é válida', 27 | lengthBadStart: 'Sua resposta deve incluir entre ', 28 | lengthBadEnd: ' caracteres', 29 | lengthTooLongStart: 'Sua resposta tem mais que ', 30 | lengthTooShortStart: 'Sua resposta tem menos que', 31 | notConfirmed: 'As informações digitadas não puderam ser confirmadas', 32 | badDomain: 'O domínio digitado não é válido', 33 | badUrl: 'A URL digitada não é válida', 34 | badCustomVal: 'Os dados digitados não são válidos', 35 | andSpaces: ' e espaços', 36 | badInt: 'O número digitado não é válido', 37 | badSecurityNumber: 'O número de seguro social digitado não é válido', 38 | badUKVatAnswer: 'O número do VAT digitado não é válido para o Reino Unido', 39 | badStrength: 'Senha muito fraca', 40 | badNumberOfSelectedOptionsStart: 'Selecione pelo menos', 41 | badNumberOfSelectedOptionsEnd: ' alternativa(s)', 42 | badAlphaNumeric: 'Use somente caracteres alfanuméricos (letras a-z e números)', 43 | badAlphaNumericExtra: ' e', 44 | wrongFileSize: 'O arquivo selecionado é maior que o tamanho máximo permitido (%s)', 45 | wrongFileType: 'Somente arquivos %s são permitidos', 46 | groupCheckedRangeStart: 'Por favor, escolha entre ', 47 | groupCheckedTooFewStart: 'Por favor, escolha pelo menos ', 48 | groupCheckedTooManyStart: 'Por favor, escolhe no máximo ', 49 | groupCheckedEnd: ' alternativa(s)', 50 | badCreditCard: 'O número de cartão de crédito digitado não é válido', 51 | badCVV: 'O código de segurança do cartão de crédito não é válido', 52 | wrongFileDim: 'As dimensões da imagem não são válidas', 53 | imageTooTall: 'a imagem não pode ser mais alta que ', 54 | imageTooWide: 'a imagem não pode ser mais larga que ', 55 | imageTooSmall: 'a imagem é muito pequena', 56 | min: 'min', 57 | max: 'max', 58 | imageRatioNotAccepted : 'A proporção da imagem (largura x altura) não é válida', 59 | badBrazilTelephoneAnswer: 'O número de telefone digitado é inválido', 60 | badBrazilCEPAnswer: 'O CEP digitado é inválido', 61 | badBrazilCPFAnswer: 'O CPF digitado é inválido' 62 | }; 63 | 64 | }); 65 | 66 | })(jQuery, window); 67 | -------------------------------------------------------------------------------- /src/lang/it.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Italian language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | * @version 2.2.163 10 | */ 11 | (function($, window) { 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/it'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'Impossibile inviare il modulo!', 20 | requiredField: 'Campo obbligatorio', 21 | requiredFields: 'Non sono stati compilati tutti i campi richiesti', 22 | badTime: 'L\'ora scelta non è valida', 23 | badEmail: 'Questo indirizzo email non è valido', 24 | badTelephone: 'Il numero di telefono imputato non è valido', 25 | badSecurityAnswer: 'La risposta alla domanda di sicurezza è errata', 26 | badDate: 'La data scelta non è valida', 27 | lengthBadStart: 'La sua risposta non può essere più lunga di ', 28 | lengthBadEnd: ' caratteri', 29 | lengthTooLongStart: 'La lunghezza della risposta deve essere minore di ', 30 | lengthTooShortStart: 'La lunghezza della risposta deve essere maggiore di ', 31 | notConfirmed: 'Il valore non è stato confermato.', 32 | badDomain: 'Il dominio inserito non è corretto.', 33 | badUrl: 'L\' URL inserito non è valido', 34 | badCustomVal: 'I valori inseriti non sono validi', 35 | andSpaces: ' e spazi ', 36 | badInt: 'Il numero inserito non è valido', 37 | badSecurityNumber: 'Il numero di sicurezza inserito non è valido', 38 | badUKVatAnswer: 'La Partita IVA (VAT) inserita non è valida nel Regno Unito', 39 | badStrength: 'La password proposta non è sufficientemente sicura', 40 | badNumberOfSelectedOptionsStart: 'Deve selezionare almeno', 41 | badNumberOfSelectedOptionsEnd: ' risposta/e', 42 | badAlphaNumeric: 'Il valore proposto deve contenere caratteri alfanumerici (a-z e 1234...)', 43 | badAlphaNumericExtra: '', 44 | wrongFileSize: 'Il file che si sta cercando di caricare è troppo grande (massimo %s)', 45 | wrongFileType: 'Solo i file di tipo %s possono essere inviati', 46 | groupCheckedRangeStart: 'Si prega di scegliere tra ', 47 | groupCheckedTooFewStart: 'Si prega di selezionare un minimo di ', 48 | groupCheckedTooManyStart: 'Si prega di selezionare un massimo di ', 49 | groupCheckedEnd: ' opzione/i', 50 | badCreditCard: 'Il numero di carta di credito non risulta valido', 51 | badCVV: 'CVV non valido', 52 | wrongFileDim: 'La dimensione dell\'immagine non è valida,', 53 | imageTooTall: 'il lato alto dell\'immagine non può essere maggiore di', 54 | imageTooWide: 'il lato lungo dell\'immagine non può essere maggiore di', 55 | imageTooSmall: 'L\'immagine è troppo piccola', 56 | min: 'min.', 57 | max: 'máx.', 58 | imageRatioNotAccepted : 'La proporzione dell\' immagine (altezza x larghezza) non è valida' 59 | }; 60 | 61 | }); 62 | 63 | })(jQuery, window); 64 | -------------------------------------------------------------------------------- /src/lang/de.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * German language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/de'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'Ihre Anfrage konnte nicht gesendet werden!', 20 | requiredField: 'Dies ist ein Pflichtfeld', 21 | requiredFields: 'Sie haben nicht alle Fragen beantwortet', 22 | badTime: 'Sie haben nicht die korrekte Zeit eingegeben', 23 | badEmail: 'Sie haben keine gültige E-Mail-Adresse eingegeben', 24 | badTelephone: 'Sie haben keine richtige Telefonnummer eingetragen', 25 | badSecurityAnswer: 'Sie haben die falsche Antwort auf die Sicherheitsfrage eingegeben', 26 | badDate: 'Eingabe eines falschen Datums', 27 | lengthBadStart: 'Der eingegebene Wert muss dazwischen sein ', 28 | lengthBadEnd: '  Zeichen', 29 | lengthTooLongStart: 'Der eingegebene Wert ist größer als ', 30 | lengthTooShortStart: 'Der eingegebene Wert ist kleiner als ', 31 | notConfirmed: 'Die Eingaben sind unterschiedlich', 32 | badDomain: 'Sie haben die falsche Domäne eingetragen', 33 | badUrl: 'Sie haben nicht die richtige URL eingegeben', 34 | badCustomVal: 'Eingabe einer falschen Antwort', 35 | andSpaces: ' und Leerzeichen', 36 | badInt: 'Sie haben keine Nummer eingegeben', 37 | badSecurityNumber: 'Sie haben eine falsche Sozialversicherungsnummer eingegeben', 38 | badUKVatAnswer: 'Sie haben keine UK-Umsatzsteuer-Identifikationsnummer eingegeben', 39 | badStrength: 'Sie haben ein Kennwort, das nicht sicher genug ist eingegeben', 40 | badNumberOfSelectedOptionsStart: 'Wählen Sie zu mindestens ', 41 | badNumberOfSelectedOptionsEnd: ' Antwort', 42 | badAlphaNumeric: 'Sie können nur alphanumerische Zeichen (Buchstaben und Zahlen) eingeben', 43 | badAlphaNumericExtra: ' und', 44 | wrongFileSize: 'Die Datei, die Sie hochzuladen versuchen, ist zu groß (max %s)', 45 | wrongFileType: 'Nur Dateien vom Typ %s sind zulässig', 46 | groupCheckedRangeStart: 'Wählen Sie zwischen', 47 | groupCheckedTooFewStart: 'Dann müssen Sie zumindest sicher,', 48 | groupCheckedTooManyStart: 'Sie können nicht mehr als zu machen', 49 | groupCheckedEnd: ' Auswahl', 50 | badCreditCard: 'Sie haben eine ungültige Kreditkartennummer eingegeben', 51 | badCVV: 'Sie haben eine falsche CVV eingegeben', 52 | wrongFileDim: 'Illegale Bildgröße,', 53 | imageTooTall: 'Bild kann nicht größer sein als', 54 | imageTooWide: 'Bild kann nicht breiter sein als', 55 | imageTooSmall: 'Bild ist zu klein', 56 | min: 'min', 57 | max: 'max', 58 | imageRatioNotAccepted : 'Bildverhältnis wird nicht akzeptiert', 59 | badBrazilTelephoneAnswer: 'Die eingegebene Telefonnummer ist nicht korrekt', 60 | badBrazilCEPAnswer: 'Der CEP ist ungültig', 61 | badBrazilCPFAnswer: 'Der CEP ist ungültig' 62 | }; 63 | 64 | }); 65 | 66 | })(jQuery, window); 67 | -------------------------------------------------------------------------------- /src/modules/poland.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator Module: Poland 3 | * ------------------------------------------ 4 | * Created by simivar 5 | * 6 | * This form validation module adds validators typically used on 7 | * websites in Poland. This module adds the following validators: 8 | * - plpesel 9 | * 10 | * @website http://formvalidator.net/#poland-validators 11 | * @license MIT 12 | */ 13 | (function($) { 14 | 15 | $.formUtils.registerLoadedModule('poland'); 16 | 17 | /** 18 | * PL PESEL - polish personal identity number (in Polish identity cards) validator 19 | */ 20 | $.formUtils.addValidator({ 21 | name: 'plpesel', 22 | validatorFunction: function(pesel){ 23 | var weights = [1, 3, 7, 9, 1, 3, 7, 9, 1, 3], 24 | checkSum = 0, checkDigit = 0; 25 | 26 | if( /\d{11}/.test( pesel ) && pesel.length === 11 ){ 27 | for (var i = 0; i < 10; i++) { 28 | checkSum += pesel[ i ] * weights[ i ]; 29 | } 30 | 31 | if( checkSum % 10 !== 0 ){ 32 | checkDigit = 10 - (checkSum % 10); 33 | } 34 | 35 | if( parseInt( pesel.charAt( 10 ) ) === checkDigit ){ 36 | return true; 37 | } 38 | } 39 | 40 | return false; 41 | }, 42 | errorMessage: '', 43 | errorMessageKey: 'badPlPesel' 44 | }); 45 | 46 | /** 47 | * PL NIP - polish VAT identification number validator 48 | */ 49 | $.formUtils.addValidator({ 50 | name: 'plnip', 51 | validatorFunction: function(nip){ 52 | var weights = [6, 5, 7, 2, 3, 4, 5, 6, 7], 53 | checkSum = 0; 54 | 55 | if( /\d{10}/.test( nip ) && nip.length === 10 ){ 56 | for (var i = 0; i < 9; i++) { 57 | checkSum += nip[ i ] * weights[ i ]; 58 | } 59 | 60 | if( parseInt( nip.charAt( 9 ) ) === checkSum % 11 ){ 61 | return true; 62 | } 63 | } 64 | 65 | return false; 66 | }, 67 | errorMessage: '', 68 | errorMessageKey: 'badPlNip' 69 | }); 70 | 71 | /** 72 | * PL REGON - polish bussiness identity number validator 73 | */ 74 | $.formUtils.addValidator({ 75 | name: 'plregon', 76 | validatorFunction: function(regon){ 77 | var weightsNine = [8, 9, 2, 3, 4, 5, 6, 7], 78 | weightsFourteen = [2, 4, 8, 5, 0, 9, 7, 3, 6, 1, 2, 4, 8], 79 | checkSum = 0, checkDigit = 0; 80 | 81 | if( /(\d{14}|\d{9})/.test( regon ) && ( regon.length === 9 || regon.length === 14 ) ){ 82 | for (var i = 0; i < 8; i++) { 83 | checkSum += regon[ i ] * weightsNine[ i ]; 84 | } 85 | 86 | if( checkSum % 11 !== 10 ){ 87 | checkDigit = checkSum % 11; 88 | } 89 | 90 | if( parseInt( regon.charAt( 8 ) ) === checkDigit ){ 91 | if( regon.length === 14 ){ 92 | checkSum = 0; 93 | 94 | for (i = 0; i < 13; i++) { 95 | checkSum += regon[ i ] * weightsFourteen[ i ]; 96 | } 97 | 98 | if( checkSum % 11 !== 10 ){ 99 | checkDigit = checkSum % 11; 100 | } 101 | 102 | if( parseInt( regon.charAt( 13 ) ) === checkDigit ){ 103 | return true; 104 | } 105 | } else { 106 | return true; 107 | } 108 | } 109 | } 110 | 111 | return false; 112 | }, 113 | errorMessage: '', 114 | errorMessageKey: 'badPlRegon' 115 | }); 116 | 117 | })(jQuery); 118 | -------------------------------------------------------------------------------- /src/lang/ka.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Georgian language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/ka'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'ფორმა ვერ გაიგზავნა!', 20 | requiredField: 'ველის შევსება სავალდებულოა', 21 | requiredFields: 'თქვენ არ შეგივსიათ ყველა სავალდებულო ველი', 22 | badTime: 'თქვენ მიუთითეთ არასწორი დრო', 23 | badEmail: 'თქვენ მიუთითეთ არასწორი ელ.ფოსტის მისამართი', 24 | badTelephone: 'თქვენ მიუთითეთ არასწორი ტელეფონის ნომერი', 25 | badSecurityAnswer: 'თქვენ გაეცით არასწორი პასუხი უსაფრთხოების კითხვას', 26 | badDate: 'თქვენ მიუთითეთ არასწორი თარიღი', 27 | lengthBadStart: 'ველის მნიშვნელობის სიგრძე უნდა იყოს ', 28 | lengthBadEnd: ' შუალედში', 29 | lengthTooLongStart: 'ველის მნიშვნელობის სიგრძე უნდა იყოს მაქსიმუმ ', 30 | lengthTooShortStart: 'ველის მნიშვნელობის სიგრძე უნდა იყოს მინიმუმ ', 31 | notConfirmed: 'ველის მნიშვნელობები ვერ დადასტურდა', 32 | badDomain: 'არასწორი დომენის მისამართი', 33 | badUrl: 'ველის მნიშვნელობა არ არის მართებული URL მისამართი', 34 | badCustomVal: 'ველის მნიშვნელობა არ არის მართებული', 35 | andSpaces: ' და გამოტოვებები ', 36 | badInt: 'ველის მნიშვნელობა არ არის მართებული რიცხვი', 37 | badStrength: 'პაროლი არ არის საკმარისად ძლიერი (კარგი)', 38 | badNumberOfSelectedOptionsStart: 'თქვენ უნდა აირჩიოთ სულ მცირე ', 39 | badNumberOfSelectedOptionsEnd: ' პასუხი', 40 | badAlphaNumeric: 'ველის მნიშვნელობა უნდა შეიცავდეს მხოლოდ ციფრებსა და ასოებს ', 41 | badAlphaNumericExtra: ' და ', 42 | wrongFileSize: 'ფაილი, რომლის ატვირთვასაც ცდილობთ არის ძალიან დიდი (დასაშვებია მაქსიმუმ %s)', 43 | wrongFileType: 'დასაშვებია მხოლოდ შემდეგი გაფართოების ფაილები: %s', 44 | groupCheckedRangeStart: 'გთხოვთ, აირჩიოთ ', 45 | groupCheckedTooFewStart: 'გთხოვთ, აირჩიოთ სულ მცირე ', 46 | groupCheckedTooManyStart: 'გთხოვთ, აირჩიოთ მაქსიმუმ ', 47 | groupCheckedEnd: ' პუნქტი', 48 | badCreditCard: 'საკრედიტო ბარათის ნომერი არ არის მართებული', 49 | badCVV: 'CVV კოდი არ არის მართებული', 50 | wrongFileDim: 'არამართებული სურათის ზომები,', 51 | imageTooTall: 'სურათი არ უნდა იყოს უფრო გრძელი ვიდრე', 52 | imageTooWide: 'სურათი არ უნდა იყოს უფრო ფართე ვიდრე', 53 | imageTooSmall: 'სურათი არის ძალიან პატარა', 54 | min: 'მინიმუმ', 55 | max: 'მაქსიმუმ', 56 | imageRatioNotAccepted: 'სურათის სიგრძისა და სიგანის ეს თანაფარდობა დაუშვებელია', 57 | badBrazilTelephoneAnswer: 'მითითებული ტელეფონის ნომერი არ არის მართებული', 58 | badreCaptcha: 'დაადასტურეთ, რომ არ ხართ რობოტი', 59 | passwordComplexityStart: 'პაროლი უნდა შეიცავდეს მინიმუმ ', 60 | passwordComplexitySeparator: ', ', 61 | passwordComplexityUppercaseInfo: ' დიდი ასო(ები)', 62 | passwordComplexityLowercaseInfo: ' პატარა ასო(ები)', 63 | passwordComplexitySpecialCharsInfo: ' სპეციალური სიმბოლო(ები)', 64 | passwordComplexityNumericCharsInfo: ' რიცხვითი მნიშვნელობა(ები)', 65 | passwordComplexityEnd: '.' 66 | }; 67 | }); 68 | 69 | })(jQuery, window); 70 | -------------------------------------------------------------------------------- /src/lang/ar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Arabic language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/ar'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'فَشِلَ إرسال النموذج', 20 | requiredField: 'هذا الحقل مطلوب', 21 | requiredFields: 'لم يتم ملأ جميع الحقول المطلوبة.', 22 | badTime: 'حقل الوقت خاطىء', 23 | badEmail: 'البريد الإلكتروني المدخل خاطئ', 24 | badTelephone: 'رقم الهاتف المدخل خاطئ', 25 | badSecurityAnswer: 'لم يتم الإجابة عن سؤال الأمان', 26 | badDate: 'تاريخ مدخل خاطئ', 27 | lengthBadStart: 'القيمة المدخلة يجب أن تكون بين ', 28 | lengthBadEnd: ' حروف', 29 | lengthTooLongStart: 'القيمة المدخل أطول من ', 30 | lengthTooShortStart: 'القيمة المدخل أقصر من ', 31 | notConfirmed: 'لم يتم تأكيد القيمة المدخلة', 32 | badDomain: 'قيمة نطاق خاطئة', 33 | badUrl: 'القيمة المدخلة ليست رابطاً صالحاً', 34 | badCustomVal: 'القيمة المدخلة غير صالحة', 35 | andSpaces: ' ومسافات ', 36 | badInt: 'القيمة المدخلة ليست رقماً صحيحاً', 37 | badSecurityNumber: 'رقم بطاقة الهوية غير صحيح', 38 | badUKVatAnswer: 'رقم UK VAT غير صحيح', 39 | badUKNin: 'غير صحيح UK NINرقم ', 40 | badUKUtr: 'غير صحيح UK UTR رقم', 41 | badStrength: 'كلمة المرور غير قوية', 42 | badNumberOfSelectedOptionsStart: 'يجب اختيار على الأقل ', 43 | badNumberOfSelectedOptionsEnd: ' أجوبة', 44 | badAlphaNumeric: 'القيمة المدخلة يجب أن تتضمن حروف وأرقام فقط ', 45 | badAlphaNumericExtra: ' و ', 46 | wrongFileSize: 'الملف المراد تحميله كبير جداً (الحد المسموج %s)', 47 | wrongFileType: 'ملفات من نوع %s فقط مسموحة', 48 | groupCheckedRangeStart: 'من فضلك اختر بين ', 49 | groupCheckedTooFewStart: 'من فضلك اختر على الأقل ', 50 | groupCheckedTooManyStart: 'من فضلك اختر بحد أقصى ', 51 | groupCheckedEnd: ' مرات', 52 | badCreditCard: 'رقم بطاقة ائتمانية خاطىء', 53 | badCVV: 'رمز الأمان خاطئ', 54 | wrongFileDim : 'حدود الصورة غير صالحة', 55 | imageTooTall : 'الصورة يمكن أن تكون أطول من', 56 | imageTooWide : 'الصورة يمكن أن تكون أعرض من', 57 | imageTooSmall : 'صورة صغيرة جداً', 58 | min : 'أدنى', 59 | max : 'أقصى', 60 | imageRatioNotAccepted : 'أبعاد صورة غير مقبولة', 61 | badBrazilTelephoneAnswer: 'رقم هاتف مدخل خاطىء', 62 | badBrazilCEPAnswer: 'قيمة CEP المدخلة غير صحيحة', 63 | badBrazilCPFAnswer: 'قيمة CPF المدخلة غير صحيحة', 64 | badPlPesel: 'قيمة Pl PESEL المدخلة غير صحيحة', 65 | badPlNip: 'قيمة Pl NIP المدخلة غير صحيحة', 66 | badPlRegon: 'قيمة Pl REGON المدخلة غير صحيحة', 67 | badreCaptcha: 'من فضلك أكد أنك لست روبوتاً', 68 | passwordComplexityStart: 'كملة المرور تتكون على الأقل من ', 69 | passwordComplexitySeparator: ', ', 70 | passwordComplexityUppercaseInfo: ' حروف كبيرة', 71 | passwordComplexityLowercaseInfo: ' حروف صغيرة', 72 | passwordComplexitySpecialCharsInfo: ' رموز خاصة', 73 | passwordComplexityNumericCharsInfo: ' أرقام', 74 | passwordComplexityEnd: '.' 75 | }; 76 | 77 | }); 78 | 79 | })(jQuery, window); 80 | -------------------------------------------------------------------------------- /src/lang/pl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Polish language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/pl'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'Złożenie formularza nie powiodło się!', 20 | requiredField: 'To pole jest wymagane', 21 | requiredfields: 'Nie wszystkie wymagane pola zostały wypełnione', 22 | badTime: 'Wprowadzono niepoprawny czas', 23 | badEmail: 'Wprowadzono niepoprawny adres e-mail', 24 | badTelephone: 'Wprowadzono niepoprawny numeru telefonu', 25 | badSecurityAnswer: 'Nieprawidłowa odpowiedź na pytanie bezpieczeństwa', 26 | badDate: 'Niepoprawna data', 27 | lengthBadStart: 'Wprowadzona wartość musi być pomiędzy ', 28 | lengthBadEnd: ' znaków', 29 | lengthTooLongStart: 'Wprowadzona wartość jest większa niż ', 30 | lengthTooShortStart: 'Wprowadzona wartość jest mniejsza niż ', 31 | notConfirmed: 'Wprowadzone wartości nie zostały potwierdzone', 32 | badDomain: 'Nieprawidłowa wartość domeny', 33 | badUrl: 'Wprowadzono nieprawidłowy adres URL', 34 | badCustomVal: 'Wprowadzona wartość jest niepoprawna', 35 | andSpaces: ' i odstępy', 36 | badInt: 'Wprowadzono nieprawidłowy numer', 37 | badSecurityNumber: 'Wprowadzono niepoprawny numer ubezpieczenia społecznego', 38 | badUKVatAnswer: 'Wprowadzono niepoprawny brytyjski numer VAT', 39 | badUKNin: 'Wprowadzono niepoprawny brytyjski numer NIP', 40 | badUKUtr: 'Wprowadzono niepoprawny brytyjski numer podatnika', 41 | badStrength: 'Twoje hasło nie jest wystarczająco mocne', 42 | badNumberOfSelectedOptionsStart: 'Musisz wybrać przynajmniej ', 43 | badNumberOfSelectedOptionsEnd: ' odpowiedzi', 44 | badAlphaNumeric: 'Wprowadzona wartość może zawierać tylko znaki alfanumeryczne ', 45 | badAlphaNumericExtra: ' i ', 46 | wrongFileSize: 'Wysyłany plik jest zbyt duży (max %s)', 47 | wrongFileType: 'Dozwolone są tylko pliki typu %s', 48 | groupCheckedRangeStart: 'Proszę wybrać pomiędzy ', 49 | groupCheckedTooFewStart: 'Proszę wybrać przynajmniej ', 50 | groupCheckedTooManyStart: 'Proszę wybrać maksymalnie ', 51 | groupCheckedEnd: ' element(ów)', 52 | badCreditCard: 'Podany numer karty kredytowej jest nieprawidłowy', 53 | badCVV: 'Podany numer CVV jest nieprawidłowy', 54 | wrongFileDim: 'Nieprawidłowe wymiary obrazu,', 55 | imageTooTall: 'obraz nie może być wyższa niż', 56 | imageTooWide: 'obraz nie może być szerszy niż', 57 | imageTooSmall: 'obraz jest zbyt mały', 58 | min: 'min', 59 | max: 'max', 60 | imageRatioNotAccepted: 'Proporcje obrazu są niepoprawne', 61 | badBrazilTelephoneAnswer: 'Wprowadzono niepoprawny numer telefonu', 62 | badBrazilCEPAnswer: 'Wprowadzono niepoprawny CEP', 63 | badBrazilCPFAnswer: 'Wprowadzono niepoprawny CPF', 64 | badPlPesel: 'Wprowadzono niepoprawny numer PESEL', 65 | badPlNip: 'Wprowadzono niepoprawny numer NIP', 66 | badPlRegon: 'Wprowadzono niepoprawny numer REGON', 67 | badreCaptcha: 'Potwierdź że nie jesteś botem!' 68 | }; 69 | 70 | }); 71 | 72 | })(jQuery, window); 73 | -------------------------------------------------------------------------------- /form-validator/sepa.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){"use strict";a.formUtils.registerLoadedModule("sepa");var b=[["AD",24,"F04F04A12"],["AE",23,"F03F16"],["AL",28,"F08A16"],["AT",20,"F05F11"],["AZ",28,"U04A20"],["BA",20,"F03F03F08F02"],["BE",16,"F03F07F02"],["BG",22,"U04F04F02A08"],["BH",22,"U04A14"],["BR",29,"F08F05F10U01A01"],["CH",21,"F05A12"],["CR",21,"F03F14"],["CY",28,"F03F05A16"],["CZ",24,"F04F06F10"],["DE",22,"F08F10"],["DK",18,"F04F09F01"],["DO",28,"U04F20"],["EE",20,"F02F02F11F01"],["ES",24,"F04F04F01F01F10"],["FI",18,"F06F07F01"],["FO",18,"F04F09F01"],["FR",27,"F05F05A11F02"],["GB",22,"U04F06F08"],["GE",22,"U02F16"],["GI",23,"U04A15"],["GL",18,"F04F09F01"],["GR",27,"F03F04A16"],["GT",28,"A04A20"],["HR",21,"F07F10"],["HU",28,"F03F04F01F15F01"],["IE",22,"U04F06F08"],["IL",23,"F03F03F13"],["IS",26,"F04F02F06F10"],["IT",27,"U01F05F05A12"],["KW",30,"U04A22"],["KZ",20,"F03A13"],["LB",28,"F04A20"],["LC",32,"U04F24"],["LI",21,"F05A12"],["LT",20,"F05F11"],["LU",20,"F03A13"],["LV",21,"U04A13"],["MC",27,"F05F05A11F02"],["MD",24,"U02A18"],["ME",22,"F03F13F02"],["MK",19,"F03A10F02"],["MR",27,"F05F05F11F02"],["MT",31,"U04F05A18"],["MU",30,"U04F02F02F12F03U03"],["NL",18,"U04F10"],["NO",15,"F04F06F01"],["PK",24,"U04A16"],["PL",28,"F08F16"],["PS",29,"U04A21"],["PT",25,"F04F04F11F02"],["RO",24,"U04A16"],["RS",22,"F03F13F02"],["SA",24,"F02A18"],["SE",24,"F03F16F01"],["SI",19,"F05F08F02"],["SK",24,"F04F06F10"],["SM",27,"U01F05F05A12"],["ST",25,"F08F11F02"],["TL",23,"F03F14F02"],["TN",24,"F02F03F13F02"],["TR",26,"F05F01A16"],["VG",24,"U04F16"],["XK",20,"F04F10F02"],["AO",25,"F21"],["BF",27,"F23"],["BI",16,"F12"],["BJ",28,"F24"],["CI",28,"U01F23"],["CM",27,"F23"],["CV",25,"F21"],["DZ",24,"F20"],["IR",26,"F22"],["JO",30,"A04F22"],["MG",27,"F23"],["ML",28,"U01F23"],["MZ",25,"F21"],["QA",29,"U04A21"],["SN",28,"U01F23"],["UA",29,"F25"]],c=function(a){a=a.replace(/\s+/g,""),a=a.substr(4)+a.substr(0,4),a=a.split("").map(function(a){var b=a.charCodeAt(0);return b>="A".charCodeAt(0)&&b<="Z".charCodeAt(0)?b-"A".charCodeAt(0)+10:a}).join("");for(var b,c=a;c.length>2;)b=c.slice(0,9),c=(parseInt(b,10)%97).toString()+c.slice(b.length);return parseInt(c,10)%97===1},d=function(a){a=a.toUpperCase(),a=a.replace(/\s+/g,"");var c=a.slice(0,2),d=0,e="";for(d=0;d":"__%AMP%__gt;","&":"__%AMP%__amp;","'":"__%AMP%__#8217;",'"':"__%AMP%__quot;"};return"yes"===d?b:(c.valAttr("is-escaped","yes"),c.one("keyup",function(a){9!==a.keyCode&&c.valAttr("is-escaped","no")}),a.each(e,function(a,c){b=b.replace(new RegExp(a,"g"),c)}),b.replace(new RegExp("__%AMP%__","g"),"&"))}}),a.formUtils.registerLoadedModule("sanitize");var c='[type="button"], [type="submit"], [type="radio"], [type="checkbox"], [type="reset"], [type="search"]',d=function(b,d,e){d||(d=a("form")),d.each||(d=a(d));var f=function(){var b=a(this),c=b.val();a.split(b.attr("data-sanitize"),function(d){var f=a.formUtils.sanitizers[d];if(!f)throw new Error('Use of unknown sanitize command "'+d+'"');c=f.sanitizerFunction(c,b,e)}),b.val(c).trigger("keyup.validation")};d.each(function(){var b=a(this);e.sanitizeAll&&b.find("input,textarea").not(c).each(function(){var b=a(this),c=b.attr("data-sanitize")||"";b.attr("data-sanitize",e.sanitizeAll+" "+c)}),b.find("[data-sanitize]").unbind("blur.sanitation",f).bind("blur.sanitation",f),a(function(){b.trigger("blur.sanitation")})})};a(b).on("validatorsLoaded formValidationSetup",d),a.formUtils.setupSanitation=d}(a,window)}); -------------------------------------------------------------------------------- /src/modules/date.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator Module: Date 3 | * ------------------------------------------ 4 | * Created by Victor Jonsson 5 | * Documentation and issue tracking on Github 6 | * 7 | * The following validators will be added by this module: 8 | * - Time (HH:mmm) 9 | * - Birth date 10 | * 11 | * @website http://formvalidator.net/#location-validators 12 | * @license MIT 13 | */ 14 | (function ($) { 15 | 16 | $.formUtils.registerLoadedModule('date'); 17 | 18 | /* 19 | * Validate time hh:mm 20 | */ 21 | $.formUtils.addValidator({ 22 | name: 'time', 23 | validatorFunction: function (time) { 24 | if (time.match(/^(\d{2}):(\d{2})$/) === null) { 25 | return false; 26 | } else { 27 | var hours = parseInt(time.split(':')[0], 10); 28 | var minutes = parseInt(time.split(':')[1], 10); 29 | if (hours > 23 || minutes > 59) { 30 | return false; 31 | } 32 | } 33 | return true; 34 | }, 35 | errorMessage: '', 36 | errorMessageKey: 'badTime' 37 | }); 38 | 39 | /* 40 | * Is this a valid birth date 41 | */ 42 | $.formUtils.addValidator({ 43 | name: 'birthdate', 44 | validatorFunction: function (val, $el, conf) { 45 | var dateFormat = 'yyyy-mm-dd'; 46 | if ($el.valAttr('format')) { 47 | dateFormat = $el.valAttr('format'); 48 | } 49 | else if (typeof conf.dateFormat !== 'undefined') { 50 | dateFormat = conf.dateFormat; 51 | } 52 | 53 | var inputDate = $.formUtils.parseDate(val, dateFormat); 54 | if (!inputDate) { 55 | return false; 56 | } 57 | 58 | var year = inputDate[0], 59 | month = inputDate[1], 60 | day = inputDate[2], 61 | age = getAge(year, month, day), 62 | allowedAgeRange = ($el.valAttr('age-range') || '0-124').split('-'); 63 | 64 | $el.trigger('ageCalculated', [age]); 65 | 66 | if (allowedAgeRange.length !== 2 || !$.isNumeric(allowedAgeRange[0]) || !$.isNumeric(allowedAgeRange[1])) { 67 | throw new Error('Date range format invalid'); 68 | } 69 | 70 | return age >= allowedAgeRange[0] && age <= allowedAgeRange[1]; 71 | }, 72 | errorMessage: '', 73 | errorMessageKey: 'badDate' 74 | }); 75 | 76 | function getAge(otherDateYear, otherDateMonth, otherDateDay) { 77 | var birthDate = new Date(otherDateYear, otherDateMonth, otherDateDay), now = new Date(), 78 | years = now.getFullYear() - birthDate.getFullYear(); 79 | birthDate.setFullYear(birthDate.getFullYear() + years); 80 | if (birthDate > now) { 81 | years--; 82 | birthDate.setFullYear(birthDate.getFullYear() - 1); 83 | } 84 | var days = Math.floor((now.getTime() - birthDate.getTime()) / (3600 * 24 * 1000)), 85 | yearsOld = years + days / (isLeapYear(now.getFullYear()) ? 366 : 365), 86 | decimals = ((yearsOld + '').split('.')[1] || '').substr(0, 3); 87 | 88 | if (yearsOld >= 0) { 89 | return Math.floor(yearsOld) + (decimals >= 915 ? 1:0); 90 | } else { 91 | decimals *= 10; 92 | return Math.floor(yearsOld) + (decimals <= 840 ? 1:0); 93 | } 94 | } 95 | 96 | function isLeapYear(year) { 97 | var d = new Date(year, 1, 28); 98 | d.setDate(d.getDate() + 1); 99 | return d.getMonth() === 1; 100 | } 101 | 102 | })(jQuery); 103 | -------------------------------------------------------------------------------- /src/lang/tr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator 3 | * ------------------------------------------ 4 | * 5 | * Turkish language package 6 | * 7 | * @website http://formvalidator.net/ 8 | * @license MIT 9 | */ 10 | (function($, window) { 11 | 12 | 'use strict'; 13 | 14 | $.formUtils.registerLoadedModule('lang/tr'); 15 | 16 | $(window).bind('validatorsLoaded', function() { 17 | 18 | $.formUtils.LANG = { 19 | errorTitle: 'Form gönderilemedi!', 20 | requiredField: 'Boş bırakılamaz', 21 | requiredFields: 'Gerekli tüm alanları cevaplamadınız', 22 | badTime: 'Geçersiz zaman girdiniz', 23 | badEmail: 'Geçersiz e-posta adresi girdiniz', 24 | badTelephone: 'Geçersiz telefon numarası girdiniz', 25 | badSecurityAnswer: 'Güvenlik sorusuna doğru cevap vermediniz', 26 | badDate: 'Geçersiz tarih girdiniz', 27 | lengthBadStart: 'Girilen değer ', 28 | lengthBadEnd: ' karakter olmalıdır', 29 | lengthTooLongStart: 'Girilen değer en fazla ', 30 | lengthTooShortStart: 'Girilen değer en az ', 31 | notConfirmed: 'Girilen değerler uyuşmuyor', 32 | badDomain: 'Geçersiz alan adı girdiniz', 33 | badUrl: 'Geçersiz bağlantı girdiniz', 34 | badCustomVal: 'Geçersiz değer girdiniz', 35 | andSpaces: ' ve boşluk ', 36 | badInt: 'Girilen değer sayı olamlıdır', 37 | badSecurityNumber: 'Geçersiz güvenlik kodu girdiniz', 38 | badUKVatAnswer: 'Geçersiz İngiltere KDV numarası girdiniz', 39 | badUKNin: 'Geçersiz İngiltere NIN numarası girdiniz', 40 | badUKUtr: 'Geçersiz İngiltere UTR numarası girdiniz', 41 | badStrength: 'Şifreniz yeterince güçlü değil', 42 | badNumberOfSelectedOptionsStart: 'En az ', 43 | badNumberOfSelectedOptionsEnd: ' cevap seçmeniz gerekiyor', 44 | badAlphaNumeric: 'Kabul edilen değer sadece alfanümerik karakterler ', 45 | badAlphaNumericExtra: ' ve ', 46 | wrongFileSize: 'Yüklemeye çalıştığınız dosya (en fazla %s) çok büyük', 47 | wrongFileType: 'Yalnızca %s türündeki dosyaları yükleyebilirsiniz', 48 | groupCheckedRangeStart: 'Lütfen ', 49 | groupCheckedTooFewStart: 'Lütfen en az ', 50 | groupCheckedTooManyStart: 'Lütfen en fazla ', 51 | groupCheckedEnd: ' adet seçiniz', 52 | badCreditCard: 'Geçersiz kredi kartı numarası girdiniz', 53 | badCVV: 'Geçersiz CVV numarası girdiniz', 54 | wrongFileDim: 'Hatalı resim yüklediniz çünkü', 55 | imageTooTall: 'resim daha uzun olamaz', 56 | imageTooWide: 'resim daha geniş olamaz', 57 | imageTooSmall: 'görüntü çok küçük', 58 | min: 'min', 59 | max: 'max', 60 | imageRatioNotAccepted: 'Kabul edilmeye görüntü oranı', 61 | badBrazilTelephoneAnswer: 'Geçersiz telefon numarası girdiniz', 62 | badBrazilCEPAnswer: 'Geçersiz Brezilya posta kodu girdiniz', 63 | badBrazilCPFAnswer: 'Geçersiz Brezilya mükellef kayıt kimliği girdiniz', 64 | badPlPesel: 'Geçersiz Polonya kişisel kimlik numarası girdiniz', 65 | badPlNip: 'Geçersiz DKV girdiniz', 66 | badPlRegon: 'Geçersiz Polonya ticari kimlik numarası girdiniz', 67 | badreCaptcha: 'Lütfen bot olmadığınızı doğrulayın', 68 | passwordComplexityStart: 'Şifreniz en az ', 69 | passwordComplexitySeparator: ', ', 70 | passwordComplexityUppercaseInfo: ' büyük harf', 71 | passwordComplexityLowercaseInfo: ' küçük harf', 72 | passwordComplexitySpecialCharsInfo: ' özel karakter', 73 | passwordComplexityNumericCharsInfo: ' sayısal karakter', 74 | passwordComplexityEnd: ' içermelidir' 75 | }; 76 | 77 | }); 78 | 79 | })(jQuery, window); 80 | -------------------------------------------------------------------------------- /src/modules/brazil.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator Module: Brazil 3 | * ------------------------------------------ 4 | * Created by Eduardo Cuducos 5 | * 6 | * This form validation module adds validators typically used on 7 | * websites in the Brazil. This module adds the following validators: 8 | * - cpf 9 | * - cep 10 | * - brphone 11 | * 12 | * @website http://formvalidator.net/#brazil-validators 13 | * @license MIT 14 | */ 15 | (function($) { 16 | 17 | $.formUtils.registerLoadedModule('brazil'); 18 | 19 | $.formUtils.addValidator({ 20 | name : 'cpf', 21 | validatorFunction : function(string) { 22 | 23 | // Based on this post from DevMedia: 24 | // http://www.devmedia.com.br/validar-cpf-com-javascript/23916 25 | 26 | // clean up the input (digits only) and set some support vars 27 | var cpf = string.replace(/\D/g,''); 28 | var sum1 = 0; 29 | var sum2 = 0; 30 | var remainder1 = 0; 31 | var remainder2 = 0; 32 | 33 | // skip special cases 34 | if (cpf.length !== 11 || cpf === '00000000000') { 35 | return false; 36 | } 37 | 38 | // check 1st verification digit 39 | for (i = 1; i<= 9; i++) { 40 | sum1 += parseInt(cpf.substring(i - 1, i)) * (11 - i); 41 | } 42 | remainder1 = (sum1 * 10) % 11; 43 | if (remainder1 >= 10) { 44 | remainder1 = 0; 45 | } 46 | if (remainder1 !== parseInt(cpf.substring(9, 10))) { 47 | return false; 48 | } 49 | 50 | // check 2nd verification digit 51 | for (i = 1; i <= 10; i++) { 52 | sum2 += parseInt(cpf.substring(i - 1, i)) * (12 - i); 53 | } 54 | remainder2 = (sum2 * 10) % 11; 55 | if (remainder2 >= 10) { 56 | remainder2 = 0; 57 | } 58 | if (remainder2 !== parseInt(cpf.substring(10, 11))) { 59 | return false; 60 | } 61 | 62 | return true; 63 | 64 | }, 65 | errorMessage : '', 66 | errorMessageKey: 'badBrazilCPFAnswer' 67 | 68 | }); 69 | 70 | $.formUtils.addValidator({ 71 | name : 'brphone', 72 | validatorFunction : function(string) { 73 | 74 | // validates telefones such as (having X as numbers): 75 | // (XX) XXXX-XXXX 76 | // (XX) XXXXX-XXXX 77 | // XX XXXXXXXX 78 | // XX XXXXXXXXX 79 | // XXXXXXXXXX 80 | // XXXXXXXXXXX 81 | // +XX XX XXXXX-XXXX 82 | // +X XX XXXX-XXXX 83 | // And so on… 84 | 85 | if (string.match(/^(\+[\d]{1,3}[\s]{0,1}){0,1}(\(){0,1}(\d){2}(\)){0,1}(\s){0,1}(\d){4,5}([-. ]){0,1}(\d){4}$/g)) { 86 | return true; 87 | } 88 | 89 | return false; 90 | 91 | }, 92 | errorMessage : '', 93 | errorMessageKey: 'badBrazilTelephoneAnswer' 94 | 95 | }); 96 | 97 | $.formUtils.addValidator({ 98 | name : 'cep', 99 | validatorFunction : function(string) { 100 | 101 | // validates CEP such as (having X as numbers): 102 | // XXXXX-XXX 103 | // XXXXX.XXX 104 | // XXXXX XXX 105 | // XXXXXXXX 106 | 107 | if (string.match(/^(\d){5}([-. ]){0,1}(\d){3}$/g)) { 108 | return true; 109 | } 110 | 111 | return false; 112 | 113 | }, 114 | errorMessage : '', 115 | errorMessageKey: 'badBrazilCEPAnswer' 116 | 117 | }); 118 | 119 | })(jQuery); 120 | -------------------------------------------------------------------------------- /src/modules/uk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator Module: UK 3 | * ------------------------------------------ 4 | * Created by Victor Jonsson 5 | * 6 | * This form validation module adds validators typically used on 7 | * websites in the UK. This module adds the following validators: 8 | * - ukvatnumber 9 | * - ukutr 10 | * - uknin 11 | * 12 | * @website http://formvalidator.net/#uk-validators 13 | * @license MIT 14 | */ 15 | (function($) { 16 | 17 | 'use strict'; 18 | 19 | 20 | $.formUtils.registerLoadedModule('uk'); 21 | 22 | /** 23 | * UK VAT Validator 24 | */ 25 | $.formUtils.addValidator({ 26 | name : 'ukvatnumber', 27 | validatorFunction : function(number) { 28 | 29 | // Code Adapted from http://www.codingforums.com/showthread.php?t=211967 30 | // TODO: Extra Checking for other VAT Numbers (Other countries and UK Government/Health Authorities) 31 | 32 | number = number.replace(/[^0-9]/g, ''); 33 | 34 | //Check Length 35 | if(number.length < 9) { 36 | return false; 37 | } 38 | 39 | var valid = false; 40 | 41 | var VATsplit = []; 42 | VATsplit = number.split(''); 43 | 44 | var checkDigits = Number(VATsplit[7] + VATsplit[8]); // two final digits as a number 45 | 46 | var firstDigit = VATsplit[0]; 47 | var secondDigit = VATsplit[1]; 48 | if ((firstDigit === 0) && (secondDigit > 0)) { 49 | return false; 50 | } 51 | 52 | var total = 0; 53 | for (var i = 0; i < 7; i++) { // first 7 digits 54 | total += VATsplit[i]* (8-i); // sum weighted cumulative total 55 | } 56 | 57 | var c = 0; 58 | var j = 0; 59 | 60 | for (var m = 8; m >= 2; m--) { 61 | c += VATsplit[j] * m; 62 | j++; 63 | } 64 | 65 | // Traditional Algorithm for VAT numbers issued before 2010 66 | 67 | while (total > 0) { 68 | total -= 97; // deduct 97 repeatedly until total is negative 69 | } 70 | total = Math.abs(total); // make positive 71 | 72 | if (checkDigits === total) { 73 | valid = true; 74 | } 75 | 76 | // If not valid try the new method (introduced November 2009) by subtracting 55 from the mod 97 check digit if we can - else add 42 77 | 78 | if (!valid) { 79 | total = total%97; // modulus 97 80 | 81 | if (total >= 55) { 82 | total = total - 55; 83 | } else { 84 | total = total + 42; 85 | } 86 | 87 | if (total === checkDigits) { 88 | valid = true; 89 | } 90 | } 91 | 92 | return valid; 93 | }, 94 | errorMessage : '', 95 | errorMessageKey: 'badUKVatAnswer' 96 | }); 97 | 98 | /** 99 | * UK Unique Taxpayer Reference Validator 100 | */ 101 | $.formUtils.addValidator({ 102 | name: 'ukutr', 103 | validatorFunction: function (utr) 104 | { 105 | var weights = [0, 6, 7, 8, 9, 10, 5, 4, 3, 2], 106 | checkDigits = [2, 1, 9, 8, 7, 6, 5, 4, 3, 2, 1], 107 | checkSum = 0; 108 | 109 | if (/\d{10}/.test(utr) && utr.length === 10) 110 | { 111 | for (var i = 0; i < 10; i++) { 112 | checkSum += utr[ i ] * weights[ i ]; 113 | } 114 | 115 | if (parseInt(utr.charAt(0)) === checkDigits[checkSum % 11]) 116 | { 117 | return true; 118 | } 119 | } 120 | 121 | return false; 122 | }, 123 | errorMessage: '', 124 | errorMessageKey: 'badUkUtr' 125 | }); 126 | 127 | /** 128 | * UK National Insurance number Validator 129 | */ 130 | $.formUtils.addValidator({ 131 | name: 'uknin', 132 | validatorFunction: function(val){ 133 | if( /^(?!BG)(?!GB)(?!NK)(?!KN)(?!TN)(?!NT)(?!ZZ)(?:[A-CEGHJ-PR-TW-Z][A-CEGHJ-NPR-TW-Z])(?:\s*\d\s*){6}([A-D]|\s)$/i.test( val ) ){ 134 | return true; 135 | } 136 | 137 | return false; 138 | }, 139 | errorMessage: '', 140 | errorMessageKey: 'badUkNin' 141 | }); 142 | 143 | })(jQuery); 144 | -------------------------------------------------------------------------------- /test/logic.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Module Logic 6 | 7 | 8 | 9 | 10 |
11 |
12 | 13 |

data-validation-depends-on

14 | 15 |
16 | 20 |
21 | 22 |
23 | 24 | 29 |
30 | 31 | 32 |
33 | 34 | 42 |
43 | 44 |
45 | 46 | 53 |
54 | 55 |
56 | 57 |
58 | 59 |
60 |
61 | 62 |
63 | 64 |
65 |
66 | 67 |

data-validation-if-answered

68 | 69 | 70 |
71 | 74 | 78 |
79 | 80 |
81 | 84 | 88 |
89 | 90 |
91 | 94 | 98 |
99 | 100 |
101 | 102 |
103 | 104 |
105 |
106 | 107 | 108 | 109 | 123 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /src/main/deprecated.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Deprecated functions and attributes 3 | * @todo: Remove in release of 3.0 4 | */ 5 | (function ($, undefined) { 6 | 7 | 'use strict'; 8 | 9 | /** 10 | * @deprecated 11 | * @param language 12 | * @param conf 13 | */ 14 | $.fn.validateForm = function (language, conf) { 15 | $.formUtils.warn('Use of deprecated function $.validateForm, use $.isValid instead'); 16 | return this.isValid(language, conf, true); 17 | }; 18 | 19 | $(window) 20 | .on('formValidationPluginInit', function(evt, config) { 21 | convertDeprecatedLangCodeToISO6391(config); 22 | addSupportForCustomErrorMessageCallback(config); 23 | addSupportForElementReferenceInPositionParam(config); 24 | }) 25 | .on('validatorsLoaded formValidationSetup', function(evt, $form) { 26 | if( !$form ) { 27 | $form = $('form'); 28 | } 29 | addSupportForValidationDependingOnCheckedInput($form); 30 | }); 31 | 32 | 33 | function addSupportForCustomErrorMessageCallback(config) { 34 | if (config && 35 | config.errorMessagePosition === 'custom' && 36 | typeof config.errorMessageCustom === 'function') { 37 | 38 | $.formUtils.warn('Use of deprecated function errorMessageCustom, use config.submitErrorMessageCallback instead'); 39 | 40 | config.submitErrorMessageCallback = function($form, errorMessages) { 41 | config.errorMessageCustom( 42 | $form, 43 | config.language.errorTitle, 44 | errorMessages, 45 | config 46 | ); 47 | }; 48 | } 49 | } 50 | 51 | function addSupportForElementReferenceInPositionParam(config) { 52 | if (config.errorMessagePosition && typeof config.errorMessagePosition === 'object') { 53 | $.formUtils.warn('Deprecated use of config parameter errorMessagePosition, use config.submitErrorMessageCallback instead'); 54 | var $errorMessageContainer = config.errorMessagePosition; 55 | config.errorMessagePosition = 'top'; 56 | config.submitErrorMessageCallback = function() { 57 | return $errorMessageContainer; 58 | }; 59 | } 60 | } 61 | 62 | function addSupportForValidationDependingOnCheckedInput($form) { 63 | var $inputsDependingOnCheckedInputs = $form.find('[data-validation-if-checked]'); 64 | if ($inputsDependingOnCheckedInputs.length) { 65 | $.formUtils.warn( 66 | 'Detected use of attribute "data-validation-if-checked" which is '+ 67 | 'deprecated. Use "data-validation-depends-on" provided by module "logic"' 68 | ); 69 | } 70 | 71 | $inputsDependingOnCheckedInputs 72 | .on('beforeValidation', function() { 73 | 74 | var $elem = $(this), 75 | nameOfDependingInput = $elem.valAttr('if-checked'); 76 | 77 | // Set the boolean telling us that the validation depends 78 | // on another input being checked 79 | var $dependingInput = $('input[name="' + nameOfDependingInput + '"]', $form), 80 | dependingInputIsChecked = $dependingInput.is(':checked'), 81 | valueOfDependingInput = ($.formUtils.getValue($dependingInput) || '').toString(), 82 | requiredValueOfDependingInput = $elem.valAttr('if-checked-value'); 83 | 84 | if (!dependingInputIsChecked || !( 85 | !requiredValueOfDependingInput || 86 | requiredValueOfDependingInput === valueOfDependingInput 87 | )) { 88 | $elem.valAttr('skipped', true); 89 | } 90 | 91 | }); 92 | } 93 | 94 | function convertDeprecatedLangCodeToISO6391(config) { 95 | var deprecatedLangCodes = { 96 | se: 'sv', 97 | cz: 'cs', 98 | dk: 'da' 99 | }; 100 | 101 | if (config.lang in deprecatedLangCodes) { 102 | var newLangCode = deprecatedLangCodes[config.lang]; 103 | $.formUtils.warn( 104 | 'Deprecated use of lang code "'+config.lang+'" use "'+newLangCode+'" instead' 105 | ); 106 | config.lang = newLangCode; 107 | } 108 | } 109 | 110 | })(jQuery); 111 | -------------------------------------------------------------------------------- /form-validator/file.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){a.formUtils.registerLoadedModule("file");var c="undefined"!=typeof b.FileReader,d=function(b){var c=(b.valAttr("allowing")||"").toLowerCase().split(/,\s*/);return a.inArray("jpg",c)>-1&&a.inArray("jpeg",c)===-1?c.push("jpeg"):a.inArray("jpeg",c)>-1&&a.inArray("jpg",c)===-1&&c.push("jpg"),c},e=function(a,b,c,d){var e=d[b]||"";a.errorMessageKey="",a.errorMessage=e.replace("%s",c)},f=function(c,d,e){var f=new FileReader,g=new Image;f.readAsDataURL(c),f.onload=function(c){g.onload=function(){a(b).trigger("imageValidation",[this]),d(this)},g.onerror=function(){e()},g.src=c.target.result}};a.formUtils.addValidator({name:"mime",validatorFunction:function(b,f,g,h){if(c){var i=!0,j=f.get(0).files||[],k="",l=d(f);return j.length&&(a.each(j,function(b,c){return i=!1,k=c.type||c.name.substring(c.name.lastIndexOf(".")+1),a.each(l,function(a,b){if(i=k.indexOf(b)>-1)return!1}),i}),i||(a.formUtils.warn("Trying to upload a file with mime type "+k+" which is not allowed"),e(this,"wrongFileType",l.join(", "),h))),i}return a.formUtils.warn("FileReader not supported by browser, will check file extension"),a.formUtils.validators.validate_extension.validatorFunction(b,f,g,h)},errorMessage:"",errorMessageKey:"wrongFileType"}),a.formUtils.addValidator({name:"extension",validatorFunction:function(b,c,f,g){var h=!0,i=this,j=d(c);return a.each(c.get(0).files||[b],function(b,c){var d="string"==typeof c?c:c.value||c.fileName||c.name,f=d.substr(d.lastIndexOf(".")+1);if(a.inArray(f.toLowerCase(),j)===-1)return h=!1,e(i,"wrongFileType",j.join(", "),g),!1}),h},errorMessage:"",errorMessageKey:"wrongFileType"}),a.formUtils.addValidator({name:"size",validatorFunction:function(b,d,f,g){var h=d.valAttr("max-size");if(!h)return a.formUtils.warn('Input "'+d.attr("name")+'" is missing data-validation-max-size attribute',!0),!0;if(!c)return!0;var i=a.formUtils.convertSizeNameToBytes(h),j=!0;return a.each(d.get(0).files||[],function(a,b){return j=b.size<=i}),j||e(this,"wrongFileSize",h,g),j},errorMessage:"",errorMessageKey:"wrongFileSize"}),a.formUtils.convertSizeNameToBytes=function(a){return a=a.toUpperCase(),"M"===a.substr(a.length-1,1)?1024*parseInt(a.substr(0,a.length-1),10)*1024:"MB"===a.substr(a.length-2,2)?1024*parseInt(a.substr(0,a.length-2),10)*1024:"KB"===a.substr(a.length-2,2)?1024*parseInt(a.substr(0,a.length-2),10):"B"===a.substr(a.length-1,1)?parseInt(a.substr(0,a.length-1),10):parseInt(a,10)},a.formUtils.checkImageDimension=function(a,b,c){var d=!1,e={width:0,height:0},f=function(a){a=a.replace("min","").replace("max","");var b=a.split("x");e.width=b[0],e.height=b[1]?b[1]:b[0]},g=!1,h=!1,i=b.split("-");return 1===i.length?0===i[0].indexOf("min")?g=i[0]:h=i[0]:(g=i[0],h=i[1]),g&&(f(g),(a.widthe.width||a.height>e.height)&&(d=a.width>e.width?c.imageTooWide+" "+e.width+"px":c.imageTooTall+" "+e.height+"px",d+=" ("+c.max+" "+e.width+"x"+e.height+"px)")),d},a.formUtils.checkImageRatio=function(a,b,c){var d=a.width/a.height,e=function(a){var b=a.replace("max","").replace("min","").split(":");return b[0]/b[1]},f=b.split("-"),g=function(a,b,c){return a>=b&&a<=c};if(1===f.length){if(d!==e(f[0]))return c.imageRatioNotAccepted}else if(2===f.length&&!g(d,e(f[0]),e(f[1])))return c.imageRatioNotAccepted;return!1},a.formUtils.addAsyncValidator({name:"dimension",validatorFunction:function(b,d,e,g,h){if(c){var i=e.get(0).files||[],j=this;e.attr("data-validation").indexOf("mime")===-1?(alert("You should validate file type being jpg, gif or png on input "+e[0].name),b(!1)):i.length>1?(alert("Validating image dimensions does not support inputs allowing multiple files"),b(!1)):0===i.length?b(!0):f(i[0],function(c){var d=!1;e.valAttr("dimension")&&(d=a.formUtils.checkImageDimension(c,e.valAttr("dimension"),h)),!d&&e.valAttr("ratio")&&(d=a.formUtils.checkImageRatio(c,e.valAttr("ratio"),h)),d?(j.errorMessage=h.wrongFileDim+" "+e.valAttr("has-not-valid-dim"),b(!1)):b(!0)},function(a){throw a})}else b(!0)},errorMessage:"",errorMessageKey:""}),a(b).one("validatorsLoaded formValidationSetup",function(b,c,d){var e;e=c?c.find('input[type="file"]'):a('input[type="file"]'),a.formUtils.dialogs.removeInputStylingAndMessage(e,d)})}(a,window)}); -------------------------------------------------------------------------------- /src/modules/toggleDisabled.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator Module: Toggle Disabled 3 | * ------------------------------------------ 4 | * Created by Victor Jonsson 5 | * 6 | * This module will take care of disabling/enabling submit buttons 7 | * in forms, depending on if the inputs of the form is valid or not. 8 | * 9 | * @website http://formvalidator.net/ 10 | * @license MIT 11 | */ 12 | (function($, window, undefined) { 13 | 14 | 'use strict'; 15 | 16 | $.formUtils.registerLoadedModule('toggleDisabled'); 17 | 18 | // Function that can enable/disable form 19 | var toggleFormState = function($form, state) { 20 | if( state === 'disabled' ) { 21 | $form.find('*[type="submit"]') 22 | .addClass('disabled') 23 | .attr('disabled', 'disabled'); 24 | } else { 25 | $form.find('*[type="submit"]') 26 | .removeClass('disabled') 27 | .removeAttr('disabled'); 28 | } 29 | }, 30 | isCheckingIfFormValid = false; 31 | 32 | $.formUtils.$win.bind('validatorsLoaded formValidationSetup', function(evt, $forms, conf) { 33 | 34 | var $formsToDisable = conf.disabledFormFilter ? $forms.filter(conf.disabledFormFilter) : $forms, 35 | showErrorDialogs = conf.showErrorDialogs === undefined || conf.showErrorDialogs, 36 | afterValidationCallback = function(evt, result, evtContext) { 37 | var $this = $(this); 38 | if (evtContext && evtContext.indexOf('blur') > -1) { 39 | $this.unbind('afterValidation', afterValidationCallback); 40 | } else { 41 | if (result.isValid) { 42 | $this.unbind('afterValidation', afterValidationCallback); 43 | } else if (!$this.valAttr('have-been-blurred')) { 44 | result.shouldChangeDisplay = false; 45 | } 46 | } 47 | }; 48 | 49 | // Toggle form state depending on if it has only valid inputs or not. 50 | $formsToDisable 51 | .addClass(showErrorDialogs ? 'disabled-with-errors' : 'disabled-without-errors') 52 | .on('reset', function() { 53 | toggleFormState($(this), 'disabled'); 54 | }) 55 | .find('*[data-validation]') 56 | .valAttr('event','keyup change') 57 | .on('validation', function(evt, valid) { 58 | if (!isCheckingIfFormValid) { 59 | isCheckingIfFormValid = true; 60 | var $form = $(this).closest('form'); 61 | if(valid && peekIfFormIsSuccessfullyValidated($form, this, conf)) { 62 | toggleFormState($form, 'enabled'); 63 | } else { 64 | toggleFormState($form, 'disabled'); 65 | } 66 | isCheckingIfFormValid = false; 67 | } 68 | }) 69 | .on('afterValidation', afterValidationCallback) 70 | .on('blur', function() { 71 | $(this).valAttr('have-been-blurred', 1); 72 | }) 73 | .each(function() { 74 | var $input = $(this), 75 | validationRules = $input.attr('data-validation'); 76 | if (validationRules.indexOf('checkbox_group') > -1) { 77 | $input.closest('form').find('input[name="'+$input.attr('name')+'"]').each(function() { 78 | $(this).on('change', function() { 79 | $input.validate(); 80 | }); 81 | }); 82 | } 83 | }); 84 | 85 | // Notice! Async validator can't be validated onkeyup 86 | $formsToDisable.find('[data-validation-async]').valAttr('event', 'change'); 87 | 88 | // Make all inputs validated on keyup, require validateOnEvent in validation config 89 | toggleFormState($formsToDisable, 'disabled'); 90 | 91 | $formsToDisable.validateOnEvent(conf.language, conf); 92 | 93 | }) 94 | .on('validationErrorDisplay', function(evt, $input, $elem) { 95 | if ( $input.closest('form').hasClass('disabled-without-errors') ) { 96 | $elem.hide(); 97 | } 98 | }); 99 | 100 | // We want to peek at the form to check if all is valid, we don't want to trigger 101 | // the validators since that seems to cause unwanted side effects, that's hard to foresee 102 | function peekIfFormIsSuccessfullyValidated($form, excludeInputElement, config) { 103 | var allValid = true; 104 | $form.find('[data-validation]').each(function() { 105 | if (this !== excludeInputElement) { 106 | var $elem = $(this), 107 | hasSuccessfullyValidated = $elem.hasClass(config.successElementClass), 108 | isOptional = $elem.valAttr('optional') === 'true', 109 | isInvalid = $elem.hasClass(config.errorElementClass); 110 | if (isInvalid || (!hasSuccessfullyValidated && !isOptional)) { 111 | allValid = false; 112 | return false; 113 | } 114 | } 115 | }); 116 | return allValid; 117 | } 118 | 119 | })(jQuery, window); 120 | -------------------------------------------------------------------------------- /form-validator/location.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){a.formUtils.registerLoadedModule("location"),a.formUtils.addValidator({name:"country",validatorFunction:function(b){return a.inArray(b.toLowerCase(),this.countries)>-1},countries:["afghanistan","albania","algeria","american samoa","andorra","angola","anguilla","antarctica","antigua and barbuda","argentina","armenia","aruba","australia","austria","azerbaijan","bahamas","bahrain","bangladesh","barbados","belarus","belgium","belize","benin","bermuda","bhutan","bolivia","bonaire","bosnia and herzegovina","botswana","bouvet island","brazil","british indian ocean territory","brunei darussalam","bulgaria","burkina faso","burundi","cabo verde","cambodia","cameroon","canada","cayman islands","central african republic","chad","chile","china","christmas island","cocos islands","colombia","comoros","democratic republic of the congo","congo","cook islands","costa rica","côte d'ivoire","croatia","cuba","curaçao","cyprus","czechia","denmark","djibouti","dominica","dominican republic","ecuador","egypt","el salvador","equatorial guinea","eritrea","estonia","ethiopia","falkland islands","faroe islands","fiji","finland","france","french guiana","french polynesia","french southern territories","gabon","gambia","georgia","germany","ghana","gibraltar","greece","greenland","grenada","guadeloupe","guam","guatemala","guernsey","guinea","guinea-bissau","guyana","haiti","heard island and mcdonald islands","honduras","hong kong","hungary","iceland","india","indonesia","iran","iraq","ireland","isle of man","israel","italy","jamaica","japan","jersey","jordan","kazakhstan","kenya","kiribati","north korea","south korea","kuwait","kyrgyzstan","laos","latvia","lebanon","lesotho","liberia","libya","liechtenstein","lithuania","luxembourg","macao","macedonia","madagascar","malawi","malaysia","maldives","mali","malta","marshall islands","martinique","mauritania","mauritius","mayotte","mexico","micronesia","moldova","monaco","mongolia","montenegro","montserrat","morocco","mozambique","myanmar","namibia","nauru","nepal","netherlands","new caledonia","new zealand","nicaragua","niger","nigeria","niue","norfolk island","northern mariana islands","norway","oman","pakistan","palau","palestine","panama","papua new guinea","paraguay","peru","philippines","pitcairn","poland","portugal","puerto rico","qatar","réunion","romania","russia","rwanda","saint barthélemy","saint helena","ascension and tristan da cunha","Ascension and tristan da cunha","saint kitts and nevis","saint lucia","saint martin","saint pierre and miquelon","saint vincent and the grenadines","samoa","san marino","sao tome and principe","saudi arabia","senegal","serbia","seychelles","sierra leone","singapore","sint maarten","slovakia","slovenia","solomon islands","somalia","south africa","south georgia and the south sandwich islands","south sudan","spain","sri lanka","sudan","suriname","svalbard and jan mayen","swaziland","sweden","switzerland","syria","taiwan","tajikistan","tanzania","thailand","timor-leste","togo","tokelau","tonga","trinidad and tobago","tunisia","turkey","turkmenistan","turks and caicos islands","tuvalu","uganda","ukraine","united arab emirates","united kingdom","united states minor outlying islands","united states","uruguay","uzbekistan","vanuatu","venezuela","vatican city","vietnam","virgin islands (british)","virgin islands (us)","wallis and futuna","western sahara","yemen","zambia","zimbabwe","åland islands"],errorMessage:"",errorMessageKey:"badCustomVal"}),a.formUtils.addValidator({name:"federatestate",validatorFunction:function(b){return a.inArray(b.toLowerCase(),this.states)>-1},states:["alabama","alaska","arizona","arkansas","california","colorado","connecticut","delaware","florida","georgia","hawaii","idaho","illinois","indiana","iowa","kansas","kentucky","louisiana","maine","maryland","district of columbia","massachusetts","michigan","minnesota","mississippi","missouri","montana","nebraska","nevada","new hampshire","new jersey","new mexico","new york","north carolina","north dakota","ohio","oklahoma","oregon","pennsylvania","rhode island","south carolina","south dakota","tennessee","texas","utah","vermont","virginia","washington","west virginia","wisconsin","wyoming"],errorMessage:"",errorMessageKey:"badCustomVal"}),a.formUtils.addValidator({name:"longlat",validatorFunction:function(a){var b=/^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/;return b.test(a)},errorMessage:"",errorMessageKey:"badCustomVal"});var b=function(b){var c=[];return a.each(b,function(a,b){c.push(b.substr(0,1).toUpperCase()+b.substr(1,b.length))}),c.sort(),c};a.fn.suggestCountry=function(c){var d=b(a.formUtils.validators.validate_country.countries),e=a.inArray(d,"Usa");return d[e]="USA",a.formUtils.suggest(this,d,c)},a.fn.suggestState=function(c){var d=b(a.formUtils.validators.validate_federatestate.states);return a.formUtils.suggest(this,d,c)}}(a)}); -------------------------------------------------------------------------------- /src/main/module-loader.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Utility methods used for handling loading of modules (attached to $.formUtils) 3 | */ 4 | (function($) { 5 | 6 | 'use strict'; 7 | 8 | $.formUtils = $.extend($.formUtils || {}, { 9 | 10 | /** 11 | * @var {Boolean} 12 | */ 13 | isLoadingModules: false, 14 | 15 | /** 16 | * @var {Object} 17 | */ 18 | loadedModules: {}, 19 | 20 | /** 21 | * @param {String} name 22 | */ 23 | registerLoadedModule: function (name) { 24 | this.loadedModules[$.trim(name).toLowerCase()] = true; 25 | }, 26 | 27 | /** 28 | * @param {String} name 29 | * @return {Boolean} 30 | */ 31 | hasLoadedModule: function (name) { 32 | return $.trim(name).toLowerCase() in this.loadedModules; 33 | }, 34 | 35 | /** 36 | * @example 37 | * $.formUtils.loadModules('date, security.dev'); 38 | * 39 | * Will load the scripts date.js and security.dev.js from the 40 | * directory where this script resides. If you want to load 41 | * the modules from another directory you can use the 42 | * path argument. 43 | * 44 | * The script will be cached by the browser unless the module 45 | * name ends with .dev 46 | * 47 | * @param {String} modules - Comma separated string with module file names (no directory nor file extension) 48 | * @param {String} [path] - Path where the module files are located if their not in the same directory as the core modules 49 | * @param {function} [callback] - Callback invoked when all modules are loaded 50 | */ 51 | loadModules: function (modules, path, callback) { 52 | 53 | if ($.formUtils.isLoadingModules) { 54 | setTimeout(function () { 55 | $.formUtils.loadModules(modules, path, callback); 56 | }, 100); 57 | return; 58 | } 59 | 60 | var loadModuleScripts = function (modules, path) { 61 | 62 | var moduleList = $.split(modules), 63 | numModules = moduleList.length, 64 | moduleLoadedCallback = function () { 65 | numModules--; 66 | if (numModules === 0) { 67 | $.formUtils.isLoadingModules = false; 68 | if (typeof callback === 'function') { 69 | callback(); 70 | } 71 | } 72 | }; 73 | 74 | if (numModules > 0) { 75 | $.formUtils.isLoadingModules = true; 76 | } 77 | 78 | var cacheSuffix = '?_=' + ( new Date().getTime() ), 79 | appendToElement = document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]; 80 | 81 | $.each(moduleList, function (i, modName) { 82 | modName = $.trim(modName); 83 | if (modName.length === 0 || $.formUtils.hasLoadedModule(modName)) { 84 | moduleLoadedCallback(); 85 | } else { 86 | var scriptUrl = path + modName + (modName.slice(-3) === '.js' ? '' : '.js'), 87 | script = document.createElement('SCRIPT'); 88 | 89 | if (typeof define === 'function' && define.amd) { 90 | require([scriptUrl + ( scriptUrl.slice(-7) === '.dev.js' ? cacheSuffix : '' )], moduleLoadedCallback); 91 | } else { 92 | // Load the script 93 | script.type = 'text/javascript'; 94 | script.onload = moduleLoadedCallback; 95 | script.src = scriptUrl + ( scriptUrl.slice(-7) === '.dev.js' ? cacheSuffix : '' ); 96 | script.onerror = function() { 97 | $.formUtils.warn('Unable to load form validation module '+scriptUrl, true); 98 | moduleLoadedCallback(); 99 | }; 100 | script.onreadystatechange = function () { 101 | // IE 7 fix 102 | if (this.readyState === 'complete' || this.readyState === 'loaded') { 103 | moduleLoadedCallback(); 104 | // Handle memory leak in IE 105 | this.onload = null; 106 | this.onreadystatechange = null; 107 | } 108 | }; 109 | appendToElement.appendChild(script); 110 | } 111 | } 112 | }); 113 | }; 114 | 115 | if (path) { 116 | loadModuleScripts(modules, path); 117 | } else { 118 | var findScriptPathAndLoadModules = function () { 119 | var foundPath = false; 120 | $('script[src*="form-validator"]').each(function () { 121 | var isScriptFromPluginNodeModulesDirectory = this.src.split('form-validator')[1].split('node_modules').length > 1; 122 | if (!isScriptFromPluginNodeModulesDirectory) { 123 | foundPath = this.src.substr(0, this.src.lastIndexOf('/')) + '/'; 124 | if (foundPath === '/') { 125 | foundPath = ''; 126 | } 127 | return false; 128 | } 129 | }); 130 | 131 | if (foundPath !== false) { 132 | loadModuleScripts(modules, foundPath); 133 | return true; 134 | } 135 | return false; 136 | }; 137 | 138 | if (!findScriptPathAndLoadModules()) { 139 | $(function () { 140 | var hasLoadedModuleScripts = findScriptPathAndLoadModules(); 141 | if (!hasLoadedModuleScripts) { 142 | // The modules may have been inserted via a minified script 143 | if (typeof callback === 'function') { 144 | callback(); 145 | } 146 | } 147 | }); 148 | } 149 | } 150 | } 151 | 152 | }); 153 | 154 | })(jQuery); 155 | -------------------------------------------------------------------------------- /src/main/async.js: -------------------------------------------------------------------------------- 1 | /** 2 | */ 3 | (function ($, window, undefined) { 4 | 5 | var disableFormSubmit = function () { 6 | return false; 7 | }, 8 | lastFormEvent = null, 9 | HaltManager = { 10 | numHalted: 0, 11 | haltValidation: function($form) { 12 | this.numHalted++; 13 | $.formUtils.haltValidation = true; 14 | $form 15 | .unbind('submit', disableFormSubmit) 16 | .bind('submit', disableFormSubmit) 17 | .find('*[type="submit"]') 18 | .addClass('disabled') 19 | .attr('disabled', 'disabled'); 20 | }, 21 | unHaltValidation: function($form) { 22 | this.numHalted--; 23 | if (this.numHalted === 0) { 24 | $.formUtils.haltValidation = false; 25 | $form 26 | .unbind('submit', disableFormSubmit) 27 | .find('*[type="submit"]') 28 | .removeClass('disabled') 29 | .removeAttr('disabled', 'disabled'); 30 | } 31 | } 32 | }; 33 | 34 | function AsyncValidation($form, $input) { 35 | this.$form = $form; 36 | this.$input = $input; 37 | this.reset(); 38 | $input.on('change paste', this.reset.bind(this)); 39 | } 40 | 41 | AsyncValidation.prototype.reset = function() { 42 | this.haltedFormValidation = false; 43 | this.hasRun = false; 44 | this.isRunning = false; 45 | this.result = undefined; 46 | }; 47 | 48 | AsyncValidation.prototype.run = function(eventContext, callback) { 49 | if (eventContext === 'keyup') { 50 | return null; 51 | } else if (this.isRunning) { 52 | lastFormEvent = eventContext; 53 | if (!this.haltedFormValidation) { 54 | HaltManager.haltValidation(); 55 | this.haltedFormValidation = true; 56 | } 57 | return null; // Waiting for result 58 | } else if(this.hasRun) { 59 | //this.$input.one('keyup change paste', this.reset.bind(this)); 60 | return this.result; 61 | } else { 62 | lastFormEvent = eventContext; 63 | HaltManager.haltValidation(this.$form); 64 | this.haltedFormValidation = true; 65 | this.isRunning = true; 66 | this.$input 67 | .attr('disabled', 'disabled') 68 | .addClass('async-validation'); 69 | this.$form.addClass('async-validation'); 70 | 71 | callback(function(result) { 72 | this.done(result); 73 | }.bind(this)); 74 | 75 | return null; 76 | } 77 | }; 78 | 79 | AsyncValidation.prototype.done = function(result) { 80 | this.result = result; 81 | this.hasRun = true; 82 | this.isRunning = false; 83 | this.$input 84 | .removeAttr('disabled') 85 | .removeClass('async-validation'); 86 | this.$form.removeClass('async-validation'); 87 | if (this.haltedFormValidation) { 88 | HaltManager.unHaltValidation(this.$form); 89 | if (lastFormEvent === 'submit') { 90 | this.$form.trigger('submit'); 91 | } else { 92 | this.$input.trigger('validation.revalidate'); 93 | } 94 | } 95 | }; 96 | 97 | AsyncValidation.loadInstance = function(validatorName, $input, $form) { 98 | // Return async validator attached to this input element 99 | // or create a new async validator and attach it to the input 100 | var asyncValidation, 101 | input = $input.get(0); 102 | 103 | if (!input.asyncValidators) { 104 | input.asyncValidators = {}; 105 | } 106 | 107 | if (input.asyncValidators[validatorName]) { 108 | asyncValidation = input.asyncValidators[validatorName]; 109 | } else { 110 | asyncValidation = new AsyncValidation($form, $input); 111 | input.asyncValidators[validatorName] = asyncValidation; 112 | } 113 | 114 | return asyncValidation; 115 | }; 116 | 117 | $.formUtils = $.extend($.formUtils || {}, { 118 | 119 | /** 120 | * @deprecated 121 | * @param validatorName 122 | * @param $input 123 | * @param $form 124 | */ 125 | asyncValidation: function(validatorName, $input, $form) { 126 | // @todo: Remove when moving up to version 3.0 127 | this.warn('Use of deprecated function $.formUtils.asyncValidation, use $.formUtils.addAsyncValidator() instead'); 128 | return AsyncValidation.loadInstance(validatorName, $input, $form); 129 | }, 130 | 131 | /** 132 | * @param {Object} asyncValidator 133 | */ 134 | addAsyncValidator: function (asyncValidator) { 135 | var validator = $.extend({}, asyncValidator), 136 | originalValidatorFunc = validator.validatorFunction; 137 | validator.async = true; 138 | validator.validatorFunction = function (value, $el, config, language, $form, eventContext) { 139 | var asyncValidation = AsyncValidation.loadInstance(this.name, $el, $form); 140 | return asyncValidation.run(eventContext, function(done) { 141 | originalValidatorFunc.apply(validator, [ 142 | done, value, $el, config, language, $form, eventContext 143 | ]); 144 | }); 145 | }; 146 | this.addValidator(validator); 147 | } 148 | }); 149 | 150 | // Tag elements having async validators 151 | $(window).bind('validatorsLoaded formValidationSetup', function (evt, $form) { 152 | if (!$form) { 153 | $form = $('form'); 154 | } 155 | $form.find('[data-validation]').each(function () { 156 | var $input = $(this); 157 | $input.valAttr('async', false); 158 | $.each($.split($input.attr('data-validation')), function (i, validatorName) { 159 | var validator = $.formUtils.validators['validate_'+validatorName]; 160 | if (validator && validator.async) { 161 | $input.valAttr('async', 'yes'); 162 | } 163 | }); 164 | }); 165 | }); 166 | 167 | })(jQuery, window); 168 | -------------------------------------------------------------------------------- /src/main/setup.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Setup function for the plugin 3 | */ 4 | (function ($) { 5 | 6 | 'use strict'; 7 | 8 | 9 | /** 10 | * A bit smarter split function 11 | * delimiter can be space, comma, dash or pipe 12 | * @param {String} val 13 | * @param {Function|String} [callback] 14 | * @param {Boolean} [allowSpaceAsDelimiter] 15 | * @returns {Array|void} 16 | */ 17 | $.split = function (val, callback, allowSpaceAsDelimiter) { 18 | // default to true 19 | allowSpaceAsDelimiter = allowSpaceAsDelimiter === undefined || allowSpaceAsDelimiter === true; 20 | var pattern = '[,|'+(allowSpaceAsDelimiter ? '\\s':'')+'-]\\s*', 21 | regex = new RegExp(pattern, 'g'); 22 | if (typeof callback !== 'function') { 23 | // return array 24 | if (!val) { 25 | return []; 26 | } 27 | var values = []; 28 | $.each(val.split(callback ? callback : regex), 29 | function (i, str) { 30 | str = $.trim(str); 31 | if (str.length) { 32 | values.push(str); 33 | } 34 | } 35 | ); 36 | return values; 37 | } else if (val) { 38 | // exec callback func on each 39 | $.each(val.split(regex), 40 | function (i, str) { 41 | str = $.trim(str); 42 | if (str.length) { 43 | return callback(str, i); 44 | } 45 | } 46 | ); 47 | } 48 | }; 49 | 50 | /** 51 | * Short hand function that makes the validation setup require less code 52 | * @param conf 53 | */ 54 | $.validate = function (conf) { 55 | 56 | var defaultConf = $.extend($.formUtils.defaultConfig(), { 57 | form: 'form', 58 | validateOnEvent: false, 59 | validateOnBlur: true, 60 | validateCheckboxRadioOnClick: true, 61 | showHelpOnFocus: true, 62 | addSuggestions: true, 63 | modules: '', 64 | onModulesLoaded: null, 65 | language: false, 66 | onSuccess: false, 67 | onError: false, 68 | onElementValidate: false 69 | }); 70 | 71 | conf = $.extend(defaultConf, conf || {}); 72 | 73 | $(window).trigger('formValidationPluginInit', [conf]); 74 | 75 | if( conf.lang && conf.lang !== 'en' ) { 76 | var langModule = 'lang/'+conf.lang+'.js'; 77 | conf.modules += conf.modules.length ? ','+langModule : langModule; 78 | } 79 | 80 | // Add validation to forms 81 | $(conf.form).each(function (i, form) { 82 | 83 | // Make a reference to the config for this form 84 | form.validationConfig = conf; 85 | 86 | // Trigger jQuery event that we're about to setup validation 87 | var $form = $(form); 88 | $form.trigger('formValidationSetup', [$form, conf]); 89 | 90 | // Remove classes and event handlers that might have been 91 | // added by a previous call to $.validate 92 | $form.find('.has-help-txt') 93 | .unbind('focus.validation') 94 | .unbind('blur.validation'); 95 | 96 | $form 97 | .removeClass('has-validation-callback') 98 | .unbind('submit.validation') 99 | .unbind('reset.validation') 100 | .find('input[data-validation],textarea[data-validation]') 101 | .unbind('blur.validation'); 102 | 103 | // Validate when submitted 104 | $form.bind('submit.validation', function (evt) { 105 | 106 | var $form = $(this), 107 | stop = function() { 108 | evt.stopImmediatePropagation(); 109 | return false; 110 | }; 111 | 112 | if ($.formUtils.haltValidation) { 113 | // pressing several times on submit button while validation is halted 114 | return stop(); 115 | } 116 | 117 | if ($.formUtils.isLoadingModules) { 118 | setTimeout(function () { 119 | $form.trigger('submit.validation'); 120 | }, 200); 121 | return stop(); 122 | } 123 | 124 | var valid = $form.isValid(conf.language, conf); 125 | if ($.formUtils.haltValidation) { 126 | // Validation got halted by one of the validators 127 | return stop(); 128 | } else { 129 | if (valid && typeof conf.onSuccess === 'function') { 130 | var callbackResponse = conf.onSuccess($form); 131 | if (callbackResponse === false) { 132 | return stop(); 133 | } 134 | } else if (!valid && typeof conf.onError === 'function') { 135 | conf.onError($form); 136 | return stop(); 137 | } else { 138 | return valid ? true : stop(); 139 | } 140 | } 141 | }) 142 | .bind('reset.validation', function () { 143 | $.formUtils.dialogs.removeAllMessagesAndStyling($form, conf); 144 | }) 145 | .addClass('has-validation-callback'); 146 | 147 | if (conf.showHelpOnFocus) { 148 | $form.showHelpOnFocus(); 149 | } 150 | if (conf.addSuggestions) { 151 | $form.addSuggestions(); 152 | } 153 | if (conf.validateOnBlur) { 154 | $form.validateOnBlur(conf.language, conf); 155 | $form.bind('html5ValidationAttrsFound', function () { 156 | $form.validateOnBlur(conf.language, conf); 157 | }); 158 | } 159 | if (conf.validateOnEvent) { 160 | $form.validateOnEvent(conf.language, conf); 161 | } 162 | }); 163 | 164 | if (conf.modules !== '') { 165 | $.formUtils.loadModules(conf.modules, null, function() { 166 | if (typeof conf.onModulesLoaded === 'function') { 167 | conf.onModulesLoaded(); 168 | } 169 | var $form = typeof conf.form === 'string' ? $(conf.form) : conf.form; 170 | $.formUtils.$win.trigger('validatorsLoaded', [$form, conf]); 171 | }); 172 | } 173 | }; 174 | 175 | })(jQuery); 176 | -------------------------------------------------------------------------------- /src/modules/logic.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator Module: Logic 3 | * ------------------------------------------ 4 | * Created by Victor Jonsson 5 | * 6 | * - data-validation-depends-on 7 | * - data-validation-if-answered 8 | * 9 | * @website http://formvalidator.net/#logic 10 | * @license MIT 11 | */ 12 | (function($) { 13 | 14 | 'use strict'; 15 | 16 | $.formUtils.registerLoadedModule('logic'); 17 | 18 | var setupValidationDependsOn = function($form, conf) { 19 | 20 | var dependingOnBeforeValidation = function() { 21 | 22 | var $input = $(this), 23 | nameOfDependingInput = $input.valAttr('depends-on') || $input.valAttr('if-checked'); 24 | 25 | // Whether or not this input should be validated depends on if another input has a value 26 | if (nameOfDependingInput) { 27 | 28 | // Set the boolean telling us that the validation depends 29 | // on another input being checked 30 | var valueOfDependingInput = $.formUtils.getValue('[name="' + nameOfDependingInput + '"]', $form), 31 | listWithRequiredValues = $.split($input.valAttr('depends-on-value'), false, false), 32 | dependingInputIsMissingValueOrHasIncorrectValue = !valueOfDependingInput || ( 33 | listWithRequiredValues.length && 34 | !valueIsInList(valueOfDependingInput, listWithRequiredValues) 35 | ); 36 | 37 | if (dependingInputIsMissingValueOrHasIncorrectValue) { 38 | $input.valAttr('skipped', '1'); 39 | } 40 | } 41 | }, 42 | valueIsInList = function(value, valueList) { 43 | var isInList = false, 44 | lowerCaseValue = value.toLocaleLowerCase(); 45 | 46 | $.each(valueList, function(i, otherValue) { 47 | if (lowerCaseValue === otherValue.toLocaleLowerCase()) { 48 | isInList = true; 49 | return false; 50 | } 51 | }); 52 | return isInList; 53 | }, 54 | dependingOnValueChanged = function() { 55 | var $input = $(this), 56 | inputValue = $.formUtils.getValue($input), 57 | requiredValueOfDependingInput = $input.valAttr('depending-value'); 58 | $.each(this.dependingInputs, function (i, $otherInput) { 59 | var otherInputHasValue = $.formUtils.getValue($otherInput) ? true:false, 60 | dependingInputIsMissingValueOrHasIncorrectValue = !inputValue || ( 61 | requiredValueOfDependingInput && 62 | requiredValueOfDependingInput !== inputValue 63 | ); 64 | 65 | if (dependingInputIsMissingValueOrHasIncorrectValue && !otherInputHasValue) { 66 | $.formUtils.dialogs.removeInputStylingAndMessage($otherInput, conf); 67 | } 68 | }); 69 | }; 70 | 71 | $form.find('[data-validation-depends-on]') 72 | .off('beforeValidation', dependingOnBeforeValidation) 73 | .on('beforeValidation', dependingOnBeforeValidation) 74 | .each(function() { 75 | // Remove validation when on depending input 76 | var $dependingInput = $(this); 77 | $form.find('[name="'+$dependingInput.valAttr('depends-on')+'"]').each(function() { 78 | $(this) 79 | .off('change', dependingOnValueChanged) 80 | .on('change', dependingOnValueChanged) 81 | .valAttr('depending-value', $dependingInput.valAttr('depends-on-value')); 82 | 83 | this.dependingInputs = this.dependingInputs || []; 84 | this.dependingInputs.push($dependingInput); 85 | }); 86 | }); 87 | 88 | }, 89 | setupValidationTogetherWith = function($form, conf) { 90 | 91 | var optionalBeforeValidation = function() { 92 | var $input = $(this), 93 | dependingInputs = $input.valAttr('optional-if-answered'), 94 | dependingInputsHasValue = false, 95 | thisInputHasAnswer = $.formUtils.getValue($input) ? true:false; 96 | 97 | if (!thisInputHasAnswer) { 98 | $.each($.split(dependingInputs), function(i, inputName) { 99 | var $dependingInput = $form.find('[name="'+inputName+'"]'); 100 | dependingInputsHasValue = $.formUtils.getValue($dependingInput) ? true:false; 101 | if (dependingInputsHasValue) { 102 | return false; 103 | } 104 | }); 105 | 106 | if (dependingInputsHasValue) { 107 | $input.valAttr('skipped', 1); 108 | } 109 | } 110 | }, 111 | optionalInputOnChange = function() { 112 | var $input = $(this), 113 | dependingInputs = $input.valAttr('optional-if-answered'); 114 | 115 | $.each($.split(dependingInputs), function(i, inputName) { 116 | var $dependingInput = $form.find('[name="'+inputName+'"]'), 117 | dependingInputsHasValue = $.formUtils.getValue($dependingInput) ? true:false; 118 | if (!dependingInputsHasValue) { 119 | $.formUtils.dialogs.removeInputStylingAndMessage($dependingInput, conf); 120 | } 121 | }); 122 | }; 123 | 124 | $form.find('[data-validation-optional-if-answered]') 125 | .off('beforeValidation', optionalBeforeValidation) 126 | .on('beforeValidation', optionalBeforeValidation) 127 | .each(function() { 128 | $(this) 129 | .off('change', optionalInputOnChange) 130 | .on('change', optionalInputOnChange); 131 | }); 132 | }; 133 | 134 | $.formUtils.$win.bind('validatorsLoaded formValidationSetup', function(evt, $form, conf) { 135 | if( !$form ) { 136 | $form = $('form'); 137 | } 138 | setupValidationDependsOn($form, conf); 139 | setupValidationTogetherWith($form, conf); 140 | }); 141 | 142 | })(jQuery); 143 | -------------------------------------------------------------------------------- /src/modules/sepa.js: -------------------------------------------------------------------------------- 1 | // jQuery Form Validator Module: SEPA 2 | // Author: PispalanIT, Joni Saarinen 3 | // 4 | // Code based on https://github.com/arhs/iban.js/blob/master/iban.js 5 | 6 | (function($) { 7 | 8 | 'use strict'; 9 | 10 | $.formUtils.registerLoadedModule('sepa'); 11 | 12 | var ibanCountryList = [ 13 | ['AD', 24, 'F04F04A12'], 14 | ['AE', 23, 'F03F16'], 15 | ['AL', 28, 'F08A16'], 16 | ['AT', 20, 'F05F11'], 17 | ['AZ', 28, 'U04A20'], 18 | ['BA', 20, 'F03F03F08F02'], 19 | ['BE', 16, 'F03F07F02'], 20 | ['BG', 22, 'U04F04F02A08'], 21 | ['BH', 22, 'U04A14'], 22 | ['BR', 29, 'F08F05F10U01A01'], 23 | ['CH', 21, 'F05A12'], 24 | ['CR', 21, 'F03F14'], 25 | ['CY', 28, 'F03F05A16'], 26 | ['CZ', 24, 'F04F06F10'], 27 | ['DE', 22, 'F08F10'], 28 | ['DK', 18, 'F04F09F01'], 29 | ['DO', 28, 'U04F20'], 30 | ['EE', 20, 'F02F02F11F01'], 31 | ['ES', 24, 'F04F04F01F01F10'], 32 | ['FI', 18, 'F06F07F01'], 33 | ['FO', 18, 'F04F09F01'], 34 | ['FR', 27, 'F05F05A11F02'], 35 | ['GB', 22, 'U04F06F08'], 36 | ['GE', 22, 'U02F16'], 37 | ['GI', 23, 'U04A15'], 38 | ['GL', 18, 'F04F09F01'], 39 | ['GR', 27, 'F03F04A16'], 40 | ['GT', 28, 'A04A20'], 41 | ['HR', 21, 'F07F10'], 42 | ['HU', 28, 'F03F04F01F15F01'], 43 | ['IE', 22, 'U04F06F08'], 44 | ['IL', 23, 'F03F03F13'], 45 | ['IS', 26, 'F04F02F06F10'], 46 | ['IT', 27, 'U01F05F05A12'], 47 | ['KW', 30, 'U04A22'], 48 | ['KZ', 20, 'F03A13'], 49 | ['LB', 28, 'F04A20'], 50 | ['LC', 32, 'U04F24'], 51 | ['LI', 21, 'F05A12'], 52 | ['LT', 20, 'F05F11'], 53 | ['LU', 20, 'F03A13'], 54 | ['LV', 21, 'U04A13'], 55 | ['MC', 27, 'F05F05A11F02'], 56 | ['MD', 24, 'U02A18'], 57 | ['ME', 22, 'F03F13F02'], 58 | ['MK', 19, 'F03A10F02'], 59 | ['MR', 27, 'F05F05F11F02'], 60 | ['MT', 31, 'U04F05A18'], 61 | ['MU', 30, 'U04F02F02F12F03U03'], 62 | ['NL', 18, 'U04F10'], 63 | ['NO', 15, 'F04F06F01'], 64 | ['PK', 24, 'U04A16'], 65 | ['PL', 28, 'F08F16'], 66 | ['PS', 29, 'U04A21'], 67 | ['PT', 25, 'F04F04F11F02'], 68 | ['RO', 24, 'U04A16'], 69 | ['RS', 22, 'F03F13F02'], 70 | ['SA', 24, 'F02A18'], 71 | ['SE', 24, 'F03F16F01'], 72 | ['SI', 19, 'F05F08F02'], 73 | ['SK', 24, 'F04F06F10'], 74 | ['SM', 27, 'U01F05F05A12'], 75 | ['ST', 25, 'F08F11F02'], 76 | ['TL', 23, 'F03F14F02'], 77 | ['TN', 24, 'F02F03F13F02'], 78 | ['TR', 26, 'F05F01A16'], 79 | ['VG', 24, 'U04F16'], 80 | ['XK', 20, 'F04F10F02'], 81 | ['AO', 25, 'F21'], 82 | ['BF', 27, 'F23'], 83 | ['BI', 16, 'F12'], 84 | ['BJ', 28, 'F24'], 85 | ['CI', 28, 'U01F23'], 86 | ['CM', 27, 'F23'], 87 | ['CV', 25, 'F21'], 88 | ['DZ', 24, 'F20'], 89 | ['IR', 26, 'F22'], 90 | ['JO', 30, 'A04F22'], 91 | ['MG', 27, 'F23'], 92 | ['ML', 28, 'U01F23'], 93 | ['MZ', 25, 'F21'], 94 | ['QA', 29, 'U04A21'], 95 | ['SN', 28, 'U01F23'], 96 | ['UA', 29, 'F25'] 97 | ]; 98 | 99 | var generalValidatorFunction = function (sepa) { 100 | sepa = sepa.replace(/\s+/g, ''); 101 | sepa = sepa.substr(4) + sepa.substr(0,4); 102 | 103 | sepa = sepa.split('').map(function(n){ 104 | var code = n.charCodeAt(0); 105 | if (code >= 'A'.charCodeAt(0) && code <= 'Z'.charCodeAt(0)){ 106 | //A = 10, B = 11, ... Z = 35 107 | return code - 'A'.charCodeAt(0) + 10; 108 | } else { 109 | return n; 110 | } 111 | }).join(''); 112 | 113 | var remainder = sepa; 114 | var block; 115 | 116 | while (remainder.length > 2) { 117 | block = remainder.slice(0, 9); 118 | remainder = (parseInt(block, 10) % 97).toString() + remainder.slice(block.length); 119 | } 120 | 121 | if (parseInt(remainder, 10) % 97 === 1){ 122 | return true; 123 | } else { 124 | return false; 125 | } 126 | }; 127 | 128 | var countryIBAN = function(sepa) { 129 | sepa = sepa.toUpperCase(); 130 | sepa = sepa.replace(/\s+/g, ''); 131 | 132 | var countryCode = sepa.slice(0,2); 133 | var i = 0; 134 | var structure = ''; 135 | 136 | for (i = 0; i < ibanCountryList.length; ++i){ 137 | if (ibanCountryList[i][0] === countryCode){ 138 | structure = ibanCountryList[i][2]; 139 | break; 140 | } 141 | } 142 | 143 | if (structure === ''){ 144 | return false; 145 | } 146 | 147 | var regex = structure.match(/(.{3})/g).map(function(block){ 148 | 149 | // parse each structure block (1-char + 2-digits) 150 | var format; 151 | var pattern = block.slice(0, 1); 152 | var repeats = parseInt(block.slice(1), 10); 153 | 154 | switch (pattern){ 155 | case 'A': format = '0-9A-Za-z'; break; 156 | case 'B': format = '0-9A-Z'; break; 157 | case 'C': format = 'A-Za-z'; break; 158 | case 'F': format = '0-9'; break; 159 | case 'L': format = 'a-z'; break; 160 | case 'U': format = 'A-Z'; break; 161 | case 'W': format = '0-9a-z'; break; 162 | } 163 | 164 | return '([' + format + ']{' + repeats + '})'; 165 | }); 166 | 167 | var regextest = new RegExp('^' + regex.join('') + '$'); 168 | 169 | return sepa.length === ibanCountryList[i][1] && regextest.test(sepa.slice(4)); 170 | }; 171 | 172 | 173 | $.formUtils.addValidator({ 174 | name: 'sepa', 175 | validatorFunction: generalValidatorFunction, 176 | errorMessage: '', 177 | errorMessageKey:'badSepa' 178 | }); 179 | 180 | $.formUtils.addValidator({ 181 | name: 'iban', 182 | validatorFunction: function(sepa) { 183 | return countryIBAN(sepa) && generalValidatorFunction(sepa); 184 | }, 185 | errorMessage: '', 186 | errorMessageKey:'badIban' 187 | }); 188 | 189 | $.formUtils.addValidator({ 190 | name: 'bic', 191 | validatorFunction: function(bic) { 192 | var regextest = new RegExp('^[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}$'); 193 | return regextest.test(bic); 194 | }, 195 | errorMessage: '', 196 | errorMessageKey:'badBic' 197 | }); 198 | 199 | })(jQuery); 200 | -------------------------------------------------------------------------------- /form-validator/sweden.js: -------------------------------------------------------------------------------- 1 | /** File generated by Grunt -- do not modify 2 | * JQUERY-FORM-VALIDATOR 3 | * 4 | * @version 2.3.79 5 | * @website http://formvalidator.net/ 6 | * @author Victor Jonsson, http://victorjonsson.se 7 | * @license MIT 8 | */ 9 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a,b){a.formUtils.registerLoadedModule("sweden"),a.formUtils.addValidator({name:"swesec",validatorFunction:function(c,d){var e,f,g,h;if(d.valAttr("use-hyphen")){if(h=c.split("-"),2!==h.length)return!1;c=h.join("")}if(!c.match(/^(\d{4})(\d{2})(\d{2})(\d{4})$/))return!1;e=RegExp.$1,f=a.formUtils.parseDateInt(RegExp.$2),g=a.formUtils.parseDateInt(RegExp.$3);var i=parseInt(RegExp.$4.substring(2,3))%2===0?"female":"male";d.trigger("genderDerived",[i]),b.ssnGender=i;var j=[31,28,31,30,31,30,31,31,30,31,30,31];if((e%400===0||e%4===0&&e%100!==0)&&(j[1]=29),f<1||f>12||g<1||g>j[f-1])return!1;c=c.substring(2,c.length);for(var k="",l=0;l-1},errorMessage:"",errorMessageKey:"badCustomVal",counties:["stockholms län","uppsala län","södermanlands län","östergötlands län","jönköpings län","kronobergs län","kalmar län","gotlands län","blekinge län","skåne län","hallands län","västra götalands län","värmlands län","örebro län","västmanlands län","dalarnas län","gävleborgs län","västernorrlands län","jämtlands län","västerbottens län","norrbottens län"]}),a.formUtils.addValidator({name:"swemunicipality",validatorFunction:function(b){return b=b.toLowerCase(),a.inArray(b,this.municipalities)!==-1||("s kommun"===b.substr(-8)&&a.inArray(b.substr(0,b.length-8),this.municipalities)>-1||" kommun"===b.substr(-7)&&a.inArray(b.substr(0,b.length-7),this.municipalities)>-1)},errorMessage:"",errorMessageKey:"badCustomVal",municipalities:["ale","alingsås","alvesta","aneby","arboga","arjeplog","arvidsjaur","arvika","askersund","avesta","bengtsfors","berg","bjurholm","bjuv","boden","bollebygd","bollnäs","borgholm","borlänge","borås","botkyrka","boxholm","bromölla","bräcke","burlöv","båstad","dals-ed","danderyd","degerfors","dorotea","eda","ekerö","eksjö","emmaboda","enköpings","eskilstuna","eslövs","essunga","fagersta","falkenberg","falköping","falu","filipstad","finspång","flen","forshaga","färgelanda","gagnef","gislaved","gnesta","gnosjö","gotland","grum","grästorp","gullspång","gällivare","gävle","göteborg","götene","habo","hagfor","hallsberg","hallstahammar","halmstad","hammarö","haninge","haparanda","heby","hedemora","helsingborg","herrljunga","hjo","hofor","huddinge","hudiksvall","hultsfred","hylte","håbo","hällefor","härjedalen","härnösand","härryda","hässleholm","höganäs","högsby","hörby","höör","jokkmokk","järfälla","jönköping","kalix","kalmar","karlsborg","karlshamn","karlskoga","karlskrona","karlstad","katrineholm","kil","kinda","kiruna","klippan","knivsta","kramfors","kristianstad","kristinehamn","krokoms","kumla","kungsbacka","kungsör","kungälv","kävlinge","köping","laholm","landskrona","laxå","lekeberg","leksand","lerum","lessebo","lidingö","lidköping","lilla edets","lindesbergs","linköpings","ljungby","ljusdals","ljusnarsbergs","lomma","ludvika","luleå","lunds","lycksele","lysekil","malmö","malung-sälen","malå","mariestad","marks","markaryd","mellerud","mjölby","mora","motala","mullsjö","munkedal","munkfors","mölndal","mönsterås","mörbylånga","nacka","nora","norberg","nordanstig","nordmaling","norrköping","norrtälje","norsjö","nybro","nykvarn","nyköping","nynäshamn","nässjö","ockelbo","olofström","orsa","orust","osby","oskarshamn","ovanåker","oxelösund","pajala","partille","perstorp","piteå","ragunda","robertsfors","ronneby","rättvik","sala","salem","sandviken","sigtuna","simrishamn","sjöbo","skara","skellefteå","skinnskatteberg","skurup","skövde","smedjebacken","sollefteå","sollentuna","solna","sorsele","sotenäs","staffanstorp","stenungsund","stockholm","storfors","storuman","strängnäs","strömstad","strömsund","sundbyberg","sundsvall","sunne","surahammar","svalöv","svedala","svenljunga","säffle","säter","sävsjö","söderhamns","söderköping","södertälje","sölvesborg","tanum","tibro","tidaholm","tierp","timrå","tingsryd","tjörn","tomelilla","torsby","torså","tranemo","tranå","trelleborg","trollhättan","trosa","tyresö","täby","töreboda","uddevalla","ulricehamns","umeå","upplands väsby","upplands-bro","uppsala","uppvidinge","vadstena","vaggeryd","valdemarsvik","vallentuna","vansbro","vara","varberg","vaxholm","vellinge","vetlanda","vilhelmina","vimmerby","vindeln","vingåker","vårgårda","vänersborg","vännäs","värmdö","värnamo","västervik","västerås","växjö","ydre","ystad","åmål","ånge","åre","årjäng","åsele","åstorp","åtvidaberg","älmhult","älvdalen","älvkarleby","älvsbyn","ängelholm","öckerö","ödeshög","örebro","örkelljunga","örnsköldsvik","östersund","österåker","östhammar","östra göinge","överkalix","övertorneå"]}),a.formUtils.addValidator({name:"swephone",validatorFunction:function(a){var b=a.match(/\+/g),c=a.match(/-/g);return!(null!==b&&b.length>1||null!==c&&c.length>1)&&((null===b||0===a.indexOf("+"))&&(a=a.replace(/([-|\+])/g,""),a.length>8&&null===a.match(/[^0-9]/g)))},errorMessage:"",errorMessageKey:"badTelephone"}),a.formUtils.addValidator({name:"swemobile",validatorFunction:function(b){if(!a.formUtils.validators.validate_swephone.validatorFunction(b))return!1;b=b.replace(/[^0-9]/g,"");var c=b.substring(0,3);return(10===b.length||"467"===c)&&((11===b.length||"467"!==c)&&(/07[0-9{1}]/.test(c)||"467"===c))},errorMessage:"",errorMessageKey:"badTelephone"});var c=function(b){var c=[];return a.each(b,function(a,b){c.push(b.substr(0,1).toUpperCase()+b.substr(1,b.length))}),c.sort(),c};a.fn.suggestSwedishCounty=function(b){var d=c(a.formUtils.validators.validate_swecounty.counties);return a.formUtils.suggest(this,d,b)},a.fn.suggestSwedishMunicipality=function(b){var d=c(a.formUtils.validators.validate_swemunicipality.municipalities);return a.formUtils.suggest(this,d,b)}}(a,window)}); -------------------------------------------------------------------------------- /src/modules/location.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Form Validator Module: Date 3 | * ------------------------------------------ 4 | * Created by Victor Jonsson 5 | * 6 | * The following validators will be added by this module: 7 | * - Country 8 | * - US state 9 | * - longitude and latitude 10 | * 11 | * @website http://formvalidator.net/#location-validators 12 | * @license MIT 13 | */ 14 | (function ($) { 15 | 16 | $.formUtils.registerLoadedModule('location'); 17 | 18 | /* 19 | * Validate that country exists 20 | */ 21 | $.formUtils.addValidator({ 22 | name: 'country', 23 | validatorFunction: function (str) { 24 | return $.inArray(str.toLowerCase(), this.countries) > -1; 25 | }, 26 | countries: ['afghanistan', 'albania', 'algeria', 'american samoa', 'andorra', 'angola', 'anguilla', 'antarctica', 'antigua and barbuda', 'argentina', 'armenia', 'aruba', 'australia', 'austria', 'azerbaijan', 'bahamas', 'bahrain', 'bangladesh', 'barbados', 'belarus', 'belgium', 'belize', 'benin', 'bermuda', 'bhutan', 'bolivia', 'bonaire', 'bosnia and herzegovina', 'botswana', 'bouvet island', 'brazil', 'british indian ocean territory', 'brunei darussalam', 'bulgaria', 'burkina faso', 'burundi', 'cabo verde', 'cambodia', 'cameroon', 'canada', 'cayman islands', 'central african republic', 'chad', 'chile', 'china', 'christmas island', 'cocos islands', 'colombia', 'comoros', 'democratic republic of the congo', 'congo', 'cook islands', 'costa rica', 'côte d\'ivoire', 'croatia', 'cuba', 'curaçao', 'cyprus', 'czechia', 'denmark', 'djibouti', 'dominica', 'dominican republic', 'ecuador', 'egypt', 'el salvador', 'equatorial guinea', 'eritrea', 'estonia', 'ethiopia', 'falkland islands', 'faroe islands', 'fiji', 'finland', 'france', 'french guiana', 'french polynesia', 'french southern territories', 'gabon', 'gambia', 'georgia', 'germany', 'ghana', 'gibraltar', 'greece', 'greenland', 'grenada', 'guadeloupe', 'guam', 'guatemala', 'guernsey', 'guinea', 'guinea-bissau', 'guyana', 'haiti', 'heard island and mcdonald islands', 'honduras', 'hong kong', 'hungary', 'iceland', 'india', 'indonesia', 'iran', 'iraq', 'ireland', 'isle of man', 'israel', 'italy', 'jamaica', 'japan', 'jersey', 'jordan', 'kazakhstan', 'kenya', 'kiribati', 'north korea', 'south korea', 'kuwait', 'kyrgyzstan', 'laos', 'latvia', 'lebanon', 'lesotho', 'liberia', 'libya', 'liechtenstein', 'lithuania', 'luxembourg', 'macao', 'macedonia', 'madagascar', 'malawi', 'malaysia', 'maldives', 'mali', 'malta', 'marshall islands', 'martinique', 'mauritania', 'mauritius', 'mayotte', 'mexico', 'micronesia', 'moldova', 'monaco', 'mongolia', 'montenegro', 'montserrat', 'morocco', 'mozambique', 'myanmar', 'namibia', 'nauru', 'nepal', 'netherlands', 'new caledonia', 'new zealand', 'nicaragua', 'niger', 'nigeria', 'niue', 'norfolk island', 'northern mariana islands', 'norway', 'oman', 'pakistan', 'palau', 'palestine', 'panama', 'papua new guinea', 'paraguay', 'peru', 'philippines', 'pitcairn', 'poland', 'portugal', 'puerto rico', 'qatar', 'réunion', 'romania', 'russia', 'rwanda', 'saint barthélemy', 'saint helena', 'ascension and tristan da cunha', 'Ascension and tristan da cunha', 'saint kitts and nevis', 'saint lucia', 'saint martin', 'saint pierre and miquelon', 'saint vincent and the grenadines', 'samoa', 'san marino', 'sao tome and principe', 'saudi arabia', 'senegal', 'serbia', 'seychelles', 'sierra leone', 'singapore', 'sint maarten', 'slovakia', 'slovenia', 'solomon islands', 'somalia', 'south africa', 'south georgia and the south sandwich islands', 'south sudan', 'spain', 'sri lanka', 'sudan', 'suriname', 'svalbard and jan mayen', 'swaziland', 'sweden', 'switzerland', 'syria', 'taiwan', 'tajikistan', 'tanzania', 'thailand', 'timor-leste', 'togo', 'tokelau', 'tonga', 'trinidad and tobago', 'tunisia', 'turkey', 'turkmenistan', 'turks and caicos islands', 'tuvalu', 'uganda', 'ukraine', 'united arab emirates', 'united kingdom', 'united states minor outlying islands', 'united states', 'uruguay', 'uzbekistan', 'vanuatu', 'venezuela', 'vatican city', 'vietnam', 'virgin islands (british)', 'virgin islands (us)', 'wallis and futuna', 'western sahara', 'yemen', 'zambia', 'zimbabwe', 'åland islands'], 27 | errorMessage: '', 28 | errorMessageKey: 'badCustomVal' 29 | }); 30 | 31 | /* 32 | * Is this a valid federate state in the US 33 | */ 34 | $.formUtils.addValidator({ 35 | name: 'federatestate', 36 | validatorFunction: function (str) { 37 | return $.inArray(str.toLowerCase(), this.states) > -1; 38 | }, 39 | states: ['alabama', 'alaska', 'arizona', 'arkansas', 'california', 'colorado', 'connecticut', 'delaware', 'florida', 'georgia', 'hawaii', 'idaho', 'illinois', 'indiana', 'iowa', 'kansas', 'kentucky', 'louisiana', 'maine', 'maryland', 'district of columbia', 'massachusetts', 'michigan', 'minnesota', 'mississippi', 'missouri', 'montana', 'nebraska', 'nevada', 'new hampshire', 'new jersey', 'new mexico', 'new york', 'north carolina', 'north dakota', 'ohio', 'oklahoma', 'oregon', 'pennsylvania', 'rhode island', 'south carolina', 'south dakota', 'tennessee', 'texas', 'utah', 'vermont', 'virginia', 'washington', 'west virginia', 'wisconsin', 'wyoming'], 40 | errorMessage: '', 41 | errorMessageKey: 'badCustomVal' 42 | }); 43 | 44 | 45 | $.formUtils.addValidator({ 46 | name: 'longlat', 47 | validatorFunction: function (str) { 48 | var regexp = /^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$/; 49 | return regexp.test(str); 50 | }, 51 | errorMessage: '', 52 | errorMessageKey: 'badCustomVal' 53 | }); 54 | 55 | /** 56 | * @private 57 | * @param {Array} listItems 58 | * @return {Array} 59 | */ 60 | var _makeSortedList = function (listItems) { 61 | var newList = []; 62 | $.each(listItems, function (i, value) { 63 | newList.push(value.substr(0, 1).toUpperCase() + value.substr(1, value.length)); 64 | }); 65 | newList.sort(); 66 | return newList; 67 | }; 68 | 69 | $.fn.suggestCountry = function (settings) { 70 | var countries = _makeSortedList($.formUtils.validators.validate_country.countries), 71 | usaIndex = $.inArray(countries, 'Usa'); 72 | 73 | countries[usaIndex] = 'USA'; 74 | return $.formUtils.suggest(this, countries, settings); 75 | }; 76 | 77 | $.fn.suggestState = function (settings) { 78 | var states = _makeSortedList($.formUtils.validators.validate_federatestate.states); 79 | return $.formUtils.suggest(this, states, settings); 80 | }; 81 | 82 | })(jQuery); 83 | --------------------------------------------------------------------------------