From b12d2ef449aa05d7883aff4fea0aadb7254bf554 Mon Sep 17 00:00:00 2001 From: Blesilda Ramirez Date: Thu, 5 Sep 2024 08:54:25 +0800 Subject: [PATCH] pkp/pkp-lib#9753 [stable-3_3_0] Update jquery, jquery-ui and chart.js to address security vulnerability reports (#10167) * pkp/pkp-lib#9753 [stable-3_3_0] Update jquery version from 3.5.1 to 3.7.1 * pkp/pkp-lib#9753 [stable-3_3_0] Update jquery validation from v1.11.1 to v1.19.5 * pkp/pkp-lib#9753 [stable-3_3_0] Remove components/jqueryui as a composer dependency * pkp/pkp-lib#9753 [stable-3_3_0] Manually add jquery-ui v1.13.3 to jquery plugins * pkp/pkp-lib#9753 [stable-3_3_0] Move import of jqueryui from vendors to js plugins * pkp/pkp-lib#9753 [stable-3_3_0] Remove jquery-ui local files * pkp/pkp-lib#9753 [stable-3_3_0] Add jquery-ui dependency to composer from npm * pkp/pkp-lib#9753 [stable-3_3_0] Remove jquery-validation local files * pkp/pkp-lib#9753 [stable-3_3_0] Add jquery-validation to composer from npm * pkp/pkp-lib#9753 [stable-3_3_0] Remove jquery, jquery-ui and jquery-validation to composer dependencies * pkp#9753 [stable-3_3_0] Undo updates to jquery, jquery-ui and jquery-validation paths * pkp/pkp-lib#9753 [stable-3_3_0] Add js/lib/jquery/plugins/validate/ path to gitignore * pkp/pkp-lib#9753 [stable-3_3_0] Add script to copy jquery and jqueryui when running composer install * pkp/pkp-lib#9753 Add composer custom repositories for jquery-ui, jquery-validate * pkp/pkp-lib#9753 Update composer script when copying jqueryui and jquery validation * pkp/pkp-lib#9753 Update FileManager mkdir function to check if folder already exists * pkp/pkp-lib#9753 Update ComposerScript to use FileManager to copy files and dir * pkp/pkp-lib#9753 Undo unintended version bump for plugin-api-version * pkp/pkp-lib#9753 Update returned value when directory already exists before creating a dir * pkp/pkp-lib#9753 Resolve unexpected throw statement on ComposerScript file * pkp/pkp-lib#9753 Update path when requiring tools/bootstrap.inc.php * pkp/pkp-lib#9753 Update ComposerScript to use native functions to copy files * pkp/pkp-lib#9753 Undo check of is_dir on mkdir function in FileManager * pkp/pkp-lib#9753 Update message log if creating dir fails in ComposerScript --- .gitignore | 3 +- classes/dev/ComposerScript.php | 112 ++ composer.json | 42 +- composer.lock | 120 +- .../plugins/validate/additional-methods.js | 617 --------- .../validate/additional-methods.min.js | 2 - .../plugins/validate/jquery.validate.js | 1231 ----------------- .../plugins/validate/jquery.validate.min.js | 2 - .../validate/localization/messages_ar.js | 25 - .../validate/localization/messages_bg.js | 25 - .../validate/localization/messages_ca.js | 25 - .../validate/localization/messages_cs.js | 25 - .../validate/localization/messages_da.js | 22 - .../validate/localization/messages_de.js | 22 - .../validate/localization/messages_el.js | 25 - .../validate/localization/messages_es.js | 25 - .../validate/localization/messages_et.js | 23 - .../validate/localization/messages_eu.js | 25 - .../validate/localization/messages_fa.js | 25 - .../validate/localization/messages_fi.js | 23 - .../validate/localization/messages_fr.js | 47 - .../validate/localization/messages_he.js | 25 - .../validate/localization/messages_hr.js | 25 - .../validate/localization/messages_hu.js | 24 - .../validate/localization/messages_it.js | 25 - .../validate/localization/messages_ja.js | 25 - .../validate/localization/messages_ka.js | 25 - .../validate/localization/messages_kk.js | 25 - .../validate/localization/messages_ko.js | 25 - .../validate/localization/messages_lt.js | 25 - .../validate/localization/messages_lv.js | 25 - .../validate/localization/messages_my.js | 25 - .../validate/localization/messages_nl.js | 35 - .../validate/localization/messages_no.js | 25 - .../validate/localization/messages_pl.js | 25 - .../validate/localization/messages_pt_BR.js | 26 - .../validate/localization/messages_pt_PT.js | 26 - .../validate/localization/messages_ro.js | 25 - .../validate/localization/messages_ru.js | 25 - .../validate/localization/messages_si.js | 25 - .../validate/localization/messages_sk.js | 22 - .../validate/localization/messages_sl.js | 25 - .../validate/localization/messages_sr.js | 25 - .../validate/localization/messages_sv.js | 23 - .../validate/localization/messages_th.js | 25 - .../validate/localization/messages_tr.js | 25 - .../validate/localization/messages_uk.js | 25 - .../validate/localization/messages_vi.js | 25 - .../validate/localization/messages_zh.js | 25 - .../validate/localization/messages_zh_TW.js | 26 - .../validate/localization/methods_de.js | 12 - .../validate/localization/methods_nl.js | 9 - .../validate/localization/methods_pt.js | 9 - 53 files changed, 183 insertions(+), 3045 deletions(-) create mode 100644 classes/dev/ComposerScript.php delete mode 100644 js/lib/jquery/plugins/validate/additional-methods.js delete mode 100644 js/lib/jquery/plugins/validate/additional-methods.min.js delete mode 100644 js/lib/jquery/plugins/validate/jquery.validate.js delete mode 100644 js/lib/jquery/plugins/validate/jquery.validate.min.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_ar.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_bg.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_ca.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_cs.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_da.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_de.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_el.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_es.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_et.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_eu.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_fa.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_fi.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_fr.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_he.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_hr.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_hu.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_it.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_ja.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_ka.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_kk.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_ko.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_lt.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_lv.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_my.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_nl.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_no.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_pl.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_pt_BR.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_pt_PT.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_ro.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_ru.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_si.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_sk.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_sl.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_sr.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_sv.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_th.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_tr.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_uk.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_vi.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_zh.js delete mode 100644 js/lib/jquery/plugins/validate/localization/messages_zh_TW.js delete mode 100644 js/lib/jquery/plugins/validate/localization/methods_de.js delete mode 100644 js/lib/jquery/plugins/validate/localization/methods_nl.js delete mode 100644 js/lib/jquery/plugins/validate/localization/methods_pt.js diff --git a/.gitignore b/.gitignore index d784da2d5b8..4bfdb94186d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ te_ST/ lib/tinymce/jscripts/tiny_mce/*.gz lib/vendor lib/components -.DS_Store \ No newline at end of file +.DS_Store +js/lib/jquery/plugins/validate/ diff --git a/classes/dev/ComposerScript.php b/classes/dev/ComposerScript.php new file mode 100644 index 00000000000..d1d8266d1e5 --- /dev/null +++ b/classes/dev/ComposerScript.php @@ -0,0 +1,112 @@ + $vendorBaseDir . '/jquery/ui/dist/jquery-ui.js', + 'jquery-ui.min.js' => $vendorBaseDir . '/jquery/ui/dist/jquery-ui.min.js', + 'jquery-validate' => $vendorBaseDir . '/jquery/validation/dist' + ]; + + $dest = [ + 'jquery-ui.js' => $vendorBaseDir . '/components/jqueryui/jquery-ui.js', + 'jquery-ui.min.js' => $vendorBaseDir . '/components/jqueryui/jquery-ui.min.js', + 'jquery-validate' => $jsPluginsDir . '/jquery/plugins/validate' + ]; + + try { + // jQuery UI + if (!file_exists($vendorBaseDir . '/components/jqueryui')) { + if (!mkdir($vendorBaseDir . '/components/jqueryui', 0755, true)) { + throw new Exception("Failed to create directory: {$vendorBaseDir}/components/jqueryui"); + } + } + + if (!copy($source['jquery-ui.js'], $dest['jquery-ui.js'])) { + throw new Exception('Failed to copy jquery-ui.js to destination folder'); + } + + if (!copy($source['jquery-ui.min.js'], $dest['jquery-ui.min.js'])) { + throw new Exception('Failed to copy jquery-ui.min.js to destination folder'); + } + + + // jQuery Validation + if (!file_exists($dest['jquery-validate'])) { + if (!mkdir($dest['jquery-validate'], 0755, true)) { + throw new Exception("Failed to create directory: {$dest['jquery-validate']}"); + } + } + + self::copyDir($source['jquery-validate'], $dest['jquery-validate']); + } catch (Exception $e) { + throw $e; + } + } +} diff --git a/composer.json b/composer.json index 866b5e165bf..39978818ee3 100644 --- a/composer.json +++ b/composer.json @@ -1,8 +1,6 @@ { "require": { "ralouphie/getallheaders": "*", - "components/jqueryui": "1.*", - "components/jquery": "^3.5", "wikimedia/less.php": "3.*", "phpmailer/phpmailer": "6.*", "smarty/smarty": "^4.3", @@ -25,7 +23,10 @@ "staudenmeir/laravel-upsert": "^1.3", "cweagans/composer-patches": "^1.7", "composer/semver": "*", - "php81_bc/strftime": "^0.5.0" + "php81_bc/strftime": "^0.5.0", + "components/jquery": "3.7.1", + "jquery/ui": "1.13.3", + "jquery/validation": "1.19.5" }, "require-dev": { "phpunit/phpunit": "~9", @@ -41,10 +42,40 @@ "cweagans/composer-patches": true } }, + "scripts": { + "post-install-cmd": [ + "@copyVendorAssets" + ], + "copyVendorAssets": [ + "PKP\\dev\\ComposerScript::copyVendorAssets" + ] + }, "repositories": [ { "type": "vcs", "url": "https://github.com/asmecher/ADOdb" + }, + { + "type": "package", + "package": { + "name": "jquery/ui", + "version": "1.13.3", + "dist": { + "url": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.3.tgz", + "type": "tar" + } + } + }, + { + "type": "package", + "package": { + "name": "jquery/validation", + "version": "1.19.5", + "dist": { + "url": "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.19.5.tgz", + "type": "tar" + } + } } ], "extra": { @@ -85,5 +116,10 @@ "Apply strftime locale patch": "lib/strftime-locale-patch.diff" } } + }, + "autoload": { + "psr-4": { + "PKP\\": "classes/" + } } } diff --git a/composer.lock b/composer.lock index 6380d593441..63a0d081cc8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d471d1947c43e9fe97b19c574ac506a3", + "content-hash": "637353834a38d38f4cf3361cde14bfe0", "packages": [ { "name": "adodb/adodb-php", @@ -117,16 +117,16 @@ }, { "name": "components/jquery", - "version": "3.5.1", + "version": "v3.7.1", "source": { "type": "git", "url": "https://github.com/components/jquery.git", - "reference": "b33e8f0f9a1cb2ae390cf05d766a900b53d2125b" + "reference": "8edc7785239bb8c2ad2b83302b856a1d61de60e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/components/jquery/zipball/b33e8f0f9a1cb2ae390cf05d766a900b53d2125b", - "reference": "b33e8f0f9a1cb2ae390cf05d766a900b53d2125b", + "url": "https://api.github.com/repos/components/jquery/zipball/8edc7785239bb8c2ad2b83302b856a1d61de60e7", + "reference": "8edc7785239bb8c2ad2b83302b856a1d61de60e7", "shasum": "" }, "type": "component", @@ -155,92 +155,14 @@ ], "description": "jQuery JavaScript Library", "homepage": "http://jquery.com", - "time": "2020-05-05T13:21:02+00:00" - }, - { - "name": "components/jqueryui", - "version": "1.12.1", - "source": { - "type": "git", - "url": "https://github.com/components/jqueryui.git", - "reference": "44ecf3794cc56b65954cc19737234a3119d036cc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/components/jqueryui/zipball/44ecf3794cc56b65954cc19737234a3119d036cc", - "reference": "44ecf3794cc56b65954cc19737234a3119d036cc", - "shasum": "" - }, - "require": { - "components/jquery": ">=1.6" - }, - "type": "component", - "extra": { - "component": { - "name": "jquery-ui", - "scripts": [ - "jquery-ui.js" - ], - "files": [ - "ui/**", - "themes/**", - "jquery-ui.min.js" - ], - "shim": { - "deps": [ - "jquery" - ], - "exports": "jQuery" - } - } + "support": { + "forum": "http://forum.jquery.com", + "irc": "irc://irc.freenode.org/jquery", + "issues": "https://github.com/jquery/jquery/issues", + "source": "https://github.com/jquery/jquery", + "wiki": "http://docs.jquery.com/" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "jQuery UI Team", - "homepage": "http://jqueryui.com/about" - }, - { - "name": "Joern Zaefferer", - "email": "joern.zaefferer@gmail.com", - "homepage": "http://bassistance.de" - }, - { - "name": "Scott Gonzalez", - "email": "scott.gonzalez@gmail.com", - "homepage": "http://scottgonzalez.com" - }, - { - "name": "Kris Borchers", - "email": "kris.borchers@gmail.com", - "homepage": "http://krisborchers.com" - }, - { - "name": "Mike Sherov", - "email": "mike.sherov@gmail.com", - "homepage": "http://mike.sherov.com" - }, - { - "name": "TJ VanToll", - "email": "tj.vantoll@gmail.com", - "homepage": "http://tjvantoll.com" - }, - { - "name": "Corey Frang", - "email": "gnarf37@gmail.com", - "homepage": "http://gnarf.net" - }, - { - "name": "Felix Nagel", - "email": "info@felixnagel.com", - "homepage": "http://www.felixnagel.com" - } - ], - "description": "jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library. Whether you're building highly interactive web applications or you just need to add a date picker to a form control, jQuery UI is the perfect choice.", - "time": "2016-09-16T05:47:55+00:00" + "time": "2023-09-22T01:43:46+00:00" }, { "name": "composer/semver", @@ -1434,6 +1356,24 @@ ], "time": "2020-09-30T07:37:11+00:00" }, + { + "name": "jquery/ui", + "version": "1.13.3", + "dist": { + "type": "tar", + "url": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.3.tgz" + }, + "type": "library" + }, + { + "name": "jquery/validation", + "version": "1.19.5", + "dist": { + "type": "tar", + "url": "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.19.5.tgz" + }, + "type": "library" + }, { "name": "laravel/framework", "version": "v7.30.4", diff --git a/js/lib/jquery/plugins/validate/additional-methods.js b/js/lib/jquery/plugins/validate/additional-methods.js deleted file mode 100644 index b0534b54ba9..00000000000 --- a/js/lib/jquery/plugins/validate/additional-methods.js +++ /dev/null @@ -1,617 +0,0 @@ -/*! - * jQuery Validation Plugin 1.11.1 - * - * http://bassistance.de/jquery-plugins/jquery-plugin-validation/ - * http://docs.jquery.com/Plugins/Validation - * - * Copyright 2013 Jörn Zaefferer - * Released under the MIT license: - * http://www.opensource.org/licenses/mit-license.php - */ - -(function() { - - function stripHtml(value) { - // remove html tags and space chars - return value.replace(/<.[^<>]*?>/g, ' ').replace(/ | /gi, ' ') - // remove punctuation - .replace(/[.(),;:!?%#$'"_+=\/\-]*/g,''); - } - jQuery.validator.addMethod("maxWords", function(value, element, params) { - return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length <= params; - }, jQuery.validator.format("Please enter {0} words or less.")); - - jQuery.validator.addMethod("minWords", function(value, element, params) { - return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length >= params; - }, jQuery.validator.format("Please enter at least {0} words.")); - - jQuery.validator.addMethod("rangeWords", function(value, element, params) { - var valueStripped = stripHtml(value); - var regex = /\b\w+\b/g; - return this.optional(element) || valueStripped.match(regex).length >= params[0] && valueStripped.match(regex).length <= params[1]; - }, jQuery.validator.format("Please enter between {0} and {1} words.")); - -}()); - -jQuery.validator.addMethod("letterswithbasicpunc", function(value, element) { - return this.optional(element) || /^[a-z\-.,()'"\s]+$/i.test(value); -}, "Letters or punctuation only please"); - -jQuery.validator.addMethod("alphanumeric", function(value, element) { - return this.optional(element) || /^\w+$/i.test(value); -}, "Letters, numbers, and underscores only please"); - -jQuery.validator.addMethod("lettersonly", function(value, element) { - return this.optional(element) || /^[a-z]+$/i.test(value); -}, "Letters only please"); - -jQuery.validator.addMethod("nowhitespace", function(value, element) { - return this.optional(element) || /^\S+$/i.test(value); -}, "No white space please"); - -jQuery.validator.addMethod("ziprange", function(value, element) { - return this.optional(element) || /^90[2-5]\d\{2\}-\d{4}$/.test(value); -}, "Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx"); - -jQuery.validator.addMethod("zipcodeUS", function(value, element) { - return this.optional(element) || /\d{5}-\d{4}$|^\d{5}$/.test(value); -}, "The specified US ZIP Code is invalid"); - -jQuery.validator.addMethod("integer", function(value, element) { - return this.optional(element) || /^-?\d+$/.test(value); -}, "A positive or negative non-decimal number please"); - -/** - * Return true, if the value is a valid vehicle identification number (VIN). - * - * Works with all kind of text inputs. - * - * @example - * @desc Declares a required input element whose value must be a valid vehicle identification number. - * - * @name jQuery.validator.methods.vinUS - * @type Boolean - * @cat Plugins/Validate/Methods - */ -jQuery.validator.addMethod("vinUS", function(v) { - if (v.length !== 17) { - return false; - } - var i, n, d, f, cd, cdv; - var LL = ["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"]; - var VL = [1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9]; - var FL = [8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2]; - var rs = 0; - for(i = 0; i < 17; i++){ - f = FL[i]; - d = v.slice(i,i+1); - if (i === 8) { - cdv = d; - } - if (!isNaN(d)) { - d *= f; - } else { - for (n = 0; n < LL.length; n++) { - if (d.toUpperCase() === LL[n]) { - d = VL[n]; - d *= f; - if (isNaN(cdv) && n === 8) { - cdv = LL[n]; - } - break; - } - } - } - rs += d; - } - cd = rs % 11; - if (cd === 10) { - cd = "X"; - } - if (cd === cdv) { - return true; - } - return false; -}, "The specified vehicle identification number (VIN) is invalid."); - -/** - * Return true, if the value is a valid date, also making this formal check dd/mm/yyyy. - * - * @example jQuery.validator.methods.date("01/01/1900") - * @result true - * - * @example jQuery.validator.methods.date("01/13/1990") - * @result false - * - * @example jQuery.validator.methods.date("01.01.1900") - * @result false - * - * @example - * @desc Declares an optional input element whose value must be a valid date. - * - * @name jQuery.validator.methods.dateITA - * @type Boolean - * @cat Plugins/Validate/Methods - */ -jQuery.validator.addMethod("dateITA", function(value, element) { - var check = false; - var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/; - if( re.test(value)) { - var adata = value.split('/'); - var gg = parseInt(adata[0],10); - var mm = parseInt(adata[1],10); - var aaaa = parseInt(adata[2],10); - var xdata = new Date(aaaa,mm-1,gg); - if ( ( xdata.getFullYear() === aaaa ) && ( xdata.getMonth() === mm - 1 ) && ( xdata.getDate() === gg ) ){ - check = true; - } else { - check = false; - } - } else { - check = false; - } - return this.optional(element) || check; -}, "Please enter a correct date"); - -/** - * IBAN is the international bank account number. - * It has a country - specific format, that is checked here too - */ -jQuery.validator.addMethod("iban", function(value, element) { - // some quick simple tests to prevent needless work - if (this.optional(element)) { - return true; - } - if (!(/^([a-zA-Z0-9]{4} ){2,8}[a-zA-Z0-9]{1,4}|[a-zA-Z0-9]{12,34}$/.test(value))) { - return false; - } - - // check the country code and find the country specific format - var iban = value.replace(/ /g,'').toUpperCase(); // remove spaces and to upper case - var countrycode = iban.substring(0,2); - var bbancountrypatterns = { - 'AL': "\\d{8}[\\dA-Z]{16}", - 'AD': "\\d{8}[\\dA-Z]{12}", - 'AT': "\\d{16}", - 'AZ': "[\\dA-Z]{4}\\d{20}", - 'BE': "\\d{12}", - 'BH': "[A-Z]{4}[\\dA-Z]{14}", - 'BA': "\\d{16}", - 'BR': "\\d{23}[A-Z][\\dA-Z]", - 'BG': "[A-Z]{4}\\d{6}[\\dA-Z]{8}", - 'CR': "\\d{17}", - 'HR': "\\d{17}", - 'CY': "\\d{8}[\\dA-Z]{16}", - 'CZ': "\\d{20}", - 'DK': "\\d{14}", - 'DO': "[A-Z]{4}\\d{20}", - 'EE': "\\d{16}", - 'FO': "\\d{14}", - 'FI': "\\d{14}", - 'FR': "\\d{10}[\\dA-Z]{11}\\d{2}", - 'GE': "[\\dA-Z]{2}\\d{16}", - 'DE': "\\d{18}", - 'GI': "[A-Z]{4}[\\dA-Z]{15}", - 'GR': "\\d{7}[\\dA-Z]{16}", - 'GL': "\\d{14}", - 'GT': "[\\dA-Z]{4}[\\dA-Z]{20}", - 'HU': "\\d{24}", - 'IS': "\\d{22}", - 'IE': "[\\dA-Z]{4}\\d{14}", - 'IL': "\\d{19}", - 'IT': "[A-Z]\\d{10}[\\dA-Z]{12}", - 'KZ': "\\d{3}[\\dA-Z]{13}", - 'KW': "[A-Z]{4}[\\dA-Z]{22}", - 'LV': "[A-Z]{4}[\\dA-Z]{13}", - 'LB': "\\d{4}[\\dA-Z]{20}", - 'LI': "\\d{5}[\\dA-Z]{12}", - 'LT': "\\d{16}", - 'LU': "\\d{3}[\\dA-Z]{13}", - 'MK': "\\d{3}[\\dA-Z]{10}\\d{2}", - 'MT': "[A-Z]{4}\\d{5}[\\dA-Z]{18}", - 'MR': "\\d{23}", - 'MU': "[A-Z]{4}\\d{19}[A-Z]{3}", - 'MC': "\\d{10}[\\dA-Z]{11}\\d{2}", - 'MD': "[\\dA-Z]{2}\\d{18}", - 'ME': "\\d{18}", - 'NL': "[A-Z]{4}\\d{10}", - 'NO': "\\d{11}", - 'PK': "[\\dA-Z]{4}\\d{16}", - 'PS': "[\\dA-Z]{4}\\d{21}", - 'PL': "\\d{24}", - 'PT': "\\d{21}", - 'RO': "[A-Z]{4}[\\dA-Z]{16}", - 'SM': "[A-Z]\\d{10}[\\dA-Z]{12}", - 'SA': "\\d{2}[\\dA-Z]{18}", - 'RS': "\\d{18}", - 'SK': "\\d{20}", - 'SI': "\\d{15}", - 'ES': "\\d{20}", - 'SE': "\\d{20}", - 'CH': "\\d{5}[\\dA-Z]{12}", - 'TN': "\\d{20}", - 'TR': "\\d{5}[\\dA-Z]{17}", - 'AE': "\\d{3}\\d{16}", - 'GB': "[A-Z]{4}\\d{14}", - 'VG': "[\\dA-Z]{4}\\d{16}" - }; - var bbanpattern = bbancountrypatterns[countrycode]; - // As new countries will start using IBAN in the - // future, we only check if the countrycode is known. - // This prevents false negatives, while almost all - // false positives introduced by this, will be caught - // by the checksum validation below anyway. - // Strict checking should return FALSE for unknown - // countries. - if (typeof bbanpattern !== 'undefined') { - var ibanregexp = new RegExp("^[A-Z]{2}\\d{2}" + bbanpattern + "$", ""); - if (!(ibanregexp.test(iban))) { - return false; // invalid country specific format - } - } - - // now check the checksum, first convert to digits - var ibancheck = iban.substring(4,iban.length) + iban.substring(0,4); - var ibancheckdigits = ""; - var leadingZeroes = true; - var charAt; - for (var i =0; i 9 && - phone_number.match(/^(\+?1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/); -}, "Please specify a valid phone number"); - -jQuery.validator.addMethod('phoneUK', function(phone_number, element) { - phone_number = phone_number.replace(/\(|\)|\s+|-/g,''); - return this.optional(element) || phone_number.length > 9 && - phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/); -}, 'Please specify a valid phone number'); - -jQuery.validator.addMethod('mobileUK', function(phone_number, element) { - phone_number = phone_number.replace(/\(|\)|\s+|-/g,''); - return this.optional(element) || phone_number.length > 9 && - phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[45789]\d{2}|624)\s?\d{3}\s?\d{3})$/); -}, 'Please specify a valid mobile number'); - -//Matches UK landline + mobile, accepting only 01-3 for landline or 07 for mobile to exclude many premium numbers -jQuery.validator.addMethod('phonesUK', function(phone_number, element) { - phone_number = phone_number.replace(/\(|\)|\s+|-/g,''); - return this.optional(element) || phone_number.length > 9 && - phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[45789]\d{8}|624\d{6})))$/); -}, 'Please specify a valid uk phone number'); -// On the above three UK functions, do the following server side processing: -// Compare original input with this RegEx pattern: -// ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ -// Extract $1 and set $prefix to '+44' if $1 is '44', otherwise set $prefix to '0' -// Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. -// A number of very detailed GB telephone number RegEx patterns can also be found at: -// http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers - -// Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK) -jQuery.validator.addMethod('postcodeUK', function(value, element) { - return this.optional(element) || /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(value); -}, 'Please specify a valid UK postcode'); - -// TODO check if value starts with <, otherwise don't try stripping anything -jQuery.validator.addMethod("strippedminlength", function(value, element, param) { - return jQuery(value).text().length >= param; -}, jQuery.validator.format("Please enter at least {0} characters")); - -// same as email, but TLD is optional -jQuery.validator.addMethod("email2", function(value, element, param) { - return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value); -}, jQuery.validator.messages.email); - -// same as url, but TLD is optional -jQuery.validator.addMethod("url2", function(value, element, param) { - return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value); -}, jQuery.validator.messages.url); - -// NOTICE: Modified version of Castle.Components.Validator.CreditCardValidator -// Redistributed under the the Apache License 2.0 at http://www.apache.org/licenses/LICENSE-2.0 -// Valid Types: mastercard, visa, amex, dinersclub, enroute, discover, jcb, unknown, all (overrides all other settings) -jQuery.validator.addMethod("creditcardtypes", function(value, element, param) { - if (/[^0-9\-]+/.test(value)) { - return false; - } - - value = value.replace(/\D/g, ""); - - var validTypes = 0x0000; - - if (param.mastercard) { - validTypes |= 0x0001; - } - if (param.visa) { - validTypes |= 0x0002; - } - if (param.amex) { - validTypes |= 0x0004; - } - if (param.dinersclub) { - validTypes |= 0x0008; - } - if (param.enroute) { - validTypes |= 0x0010; - } - if (param.discover) { - validTypes |= 0x0020; - } - if (param.jcb) { - validTypes |= 0x0040; - } - if (param.unknown) { - validTypes |= 0x0080; - } - if (param.all) { - validTypes = 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080; - } - if (validTypes & 0x0001 && /^(5[12345])/.test(value)) { //mastercard - return value.length === 16; - } - if (validTypes & 0x0002 && /^(4)/.test(value)) { //visa - return value.length === 16; - } - if (validTypes & 0x0004 && /^(3[47])/.test(value)) { //amex - return value.length === 15; - } - if (validTypes & 0x0008 && /^(3(0[012345]|[68]))/.test(value)) { //dinersclub - return value.length === 14; - } - if (validTypes & 0x0010 && /^(2(014|149))/.test(value)) { //enroute - return value.length === 15; - } - if (validTypes & 0x0020 && /^(6011)/.test(value)) { //discover - return value.length === 16; - } - if (validTypes & 0x0040 && /^(3)/.test(value)) { //jcb - return value.length === 16; - } - if (validTypes & 0x0040 && /^(2131|1800)/.test(value)) { //jcb - return value.length === 15; - } - if (validTypes & 0x0080) { //unknown - return true; - } - return false; -}, "Please enter a valid credit card number."); - -jQuery.validator.addMethod("ipv4", function(value, element, param) { - return this.optional(element) || /^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(value); -}, "Please enter a valid IP v4 address."); - -jQuery.validator.addMethod("ipv6", function(value, element, param) { - return this.optional(element) || /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value); -}, "Please enter a valid IP v6 address."); - -/** -* Return true if the field value matches the given format RegExp -* -* @example jQuery.validator.methods.pattern("AR1004",element,/^AR\d{4}$/) -* @result true -* -* @example jQuery.validator.methods.pattern("BR1004",element,/^AR\d{4}$/) -* @result false -* -* @name jQuery.validator.methods.pattern -* @type Boolean -* @cat Plugins/Validate/Methods -*/ -jQuery.validator.addMethod("pattern", function(value, element, param) { - if (this.optional(element)) { - return true; - } - if (typeof param === 'string') { - param = new RegExp('^(?:' + param + ')$'); - } - return param.test(value); -}, "Invalid format."); - - -/* - * Lets you say "at least X inputs that match selector Y must be filled." - * - * The end result is that neither of these inputs: - * - * - * - * - * ...will validate unless at least one of them is filled. - * - * partnumber: {require_from_group: [1,".productinfo"]}, - * description: {require_from_group: [1,".productinfo"]} - * - */ -jQuery.validator.addMethod("require_from_group", function(value, element, options) { - var validator = this; - var selector = options[1]; - var validOrNot = $(selector, element.form).filter(function() { - return validator.elementValue(this); - }).length >= options[0]; - - if(!$(element).data('being_validated')) { - var fields = $(selector, element.form); - fields.data('being_validated', true); - fields.valid(); - fields.data('being_validated', false); - } - return validOrNot; -}, jQuery.format("Please fill at least {0} of these fields.")); - -/* - * Lets you say "either at least X inputs that match selector Y must be filled, - * OR they must all be skipped (left blank)." - * - * The end result, is that none of these inputs: - * - * - * - * - * - * ...will validate unless either at least two of them are filled, - * OR none of them are. - * - * partnumber: {skip_or_fill_minimum: [2,".productinfo"]}, - * description: {skip_or_fill_minimum: [2,".productinfo"]}, - * color: {skip_or_fill_minimum: [2,".productinfo"]} - * - */ -jQuery.validator.addMethod("skip_or_fill_minimum", function(value, element, options) { - var validator = this, - numberRequired = options[0], - selector = options[1]; - var numberFilled = $(selector, element.form).filter(function() { - return validator.elementValue(this); - }).length; - var valid = numberFilled >= numberRequired || numberFilled === 0; - - if(!$(element).data('being_validated')) { - var fields = $(selector, element.form); - fields.data('being_validated', true); - fields.valid(); - fields.data('being_validated', false); - } - return valid; -}, jQuery.format("Please either skip these fields or fill at least {0} of them.")); - -// Accept a value from a file input based on a required mimetype -jQuery.validator.addMethod("accept", function(value, element, param) { - // Split mime on commas in case we have multiple types we can accept - var typeParam = typeof param === "string" ? param.replace(/\s/g, '').replace(/,/g, '|') : "image/*", - optionalValue = this.optional(element), - i, file; - - // Element is optional - if (optionalValue) { - return optionalValue; - } - - if ($(element).attr("type") === "file") { - // If we are using a wildcard, make it regex friendly - typeParam = typeParam.replace(/\*/g, ".*"); - - // Check if the element has a FileList before checking each file - if (element.files && element.files.length) { - for (i = 0; i < element.files.length; i++) { - file = element.files[i]; - - // Grab the mimetype from the loaded file, verify it matches - if (!file.type.match(new RegExp( ".?(" + typeParam + ")$", "i"))) { - return false; - } - } - } - } - - // Either return true because we've validated each file, or because the - // browser does not support element.files and the FileList feature - return true; -}, jQuery.format("Please enter a value with a valid mimetype.")); - -// Older "accept" file extension method. Old docs: http://docs.jquery.com/Plugins/Validation/Methods/accept -jQuery.validator.addMethod("extension", function(value, element, param) { - param = typeof param === "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif"; - return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i")); -}, jQuery.format("Please enter a value with a valid extension.")); diff --git a/js/lib/jquery/plugins/validate/additional-methods.min.js b/js/lib/jquery/plugins/validate/additional-methods.min.js deleted file mode 100644 index 0c5539ad56e..00000000000 --- a/js/lib/jquery/plugins/validate/additional-methods.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery Validation Plugin - v1.11.1 - 3/22/2013\n* https://github.com/jzaefferer/jquery-validation -* Copyright (c) 2013 Jörn Zaefferer; Licensed MIT */(function(){function t(t){return t.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ").replace(/[.(),;:!?%#$'"_+=\/\-]*/g,"")}jQuery.validator.addMethod("maxWords",function(e,i,a){return this.optional(i)||a>=t(e).match(/\b\w+\b/g).length},jQuery.validator.format("Please enter {0} words or less.")),jQuery.validator.addMethod("minWords",function(e,i,a){return this.optional(i)||t(e).match(/\b\w+\b/g).length>=a},jQuery.validator.format("Please enter at least {0} words.")),jQuery.validator.addMethod("rangeWords",function(e,i,a){var r=t(e),n=/\b\w+\b/g;return this.optional(i)||r.match(n).length>=a[0]&&r.match(n).length<=a[1]},jQuery.validator.format("Please enter between {0} and {1} words."))})(),jQuery.validator.addMethod("letterswithbasicpunc",function(t,e){return this.optional(e)||/^[a-z\-.,()'"\s]+$/i.test(t)},"Letters or punctuation only please"),jQuery.validator.addMethod("alphanumeric",function(t,e){return this.optional(e)||/^\w+$/i.test(t)},"Letters, numbers, and underscores only please"),jQuery.validator.addMethod("lettersonly",function(t,e){return this.optional(e)||/^[a-z]+$/i.test(t)},"Letters only please"),jQuery.validator.addMethod("nowhitespace",function(t,e){return this.optional(e)||/^\S+$/i.test(t)},"No white space please"),jQuery.validator.addMethod("ziprange",function(t,e){return this.optional(e)||/^90[2-5]\d\{2\}-\d{4}$/.test(t)},"Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx"),jQuery.validator.addMethod("zipcodeUS",function(t,e){return this.optional(e)||/\d{5}-\d{4}$|^\d{5}$/.test(t)},"The specified US ZIP Code is invalid"),jQuery.validator.addMethod("integer",function(t,e){return this.optional(e)||/^-?\d+$/.test(t)},"A positive or negative non-decimal number please"),jQuery.validator.addMethod("vinUS",function(t){if(17!==t.length)return!1;var e,i,a,r,n,s,u=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"],d=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],o=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],l=0;for(e=0;17>e;e++){if(r=o[e],a=t.slice(e,e+1),8===e&&(s=a),isNaN(a)){for(i=0;u.length>i;i++)if(a.toUpperCase()===u[i]){a=d[i],a*=r,isNaN(s)&&8===i&&(s=u[i]);break}}else a*=r;l+=a}return n=l%11,10===n&&(n="X"),n===s?!0:!1},"The specified vehicle identification number (VIN) is invalid."),jQuery.validator.addMethod("dateITA",function(t,e){var i=!1,a=/^\d{1,2}\/\d{1,2}\/\d{4}$/;if(a.test(t)){var r=t.split("/"),n=parseInt(r[0],10),s=parseInt(r[1],10),u=parseInt(r[2],10),d=new Date(u,s-1,n);i=d.getFullYear()===u&&d.getMonth()===s-1&&d.getDate()===n?!0:!1}else i=!1;return this.optional(e)||i},"Please enter a correct date"),jQuery.validator.addMethod("iban",function(t,e){if(this.optional(e))return!0;if(!/^([a-zA-Z0-9]{4} ){2,8}[a-zA-Z0-9]{1,4}|[a-zA-Z0-9]{12,34}$/.test(t))return!1;var i=t.replace(/ /g,"").toUpperCase(),a=i.substring(0,2),r={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"},n=r[a];if(n!==void 0){var s=RegExp("^[A-Z]{2}\\d{2}"+n+"$","");if(!s.test(i))return!1}for(var u,d=i.substring(4,i.length)+i.substring(0,4),o="",l=!0,h=0;d.length>h;h++)u=d.charAt(h),"0"!==u&&(l=!1),l||(o+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(u));for(var F="",c="",m=0;o.length>m;m++){var f=o.charAt(m);c=""+F+f,F=c%97}return 1===F},"Please specify a valid IBAN"),jQuery.validator.addMethod("dateNL",function(t,e){return this.optional(e)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(t)},"Please enter a correct date"),jQuery.validator.addMethod("phoneNL",function(t,e){return this.optional(e)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(t)},"Please specify a valid phone number."),jQuery.validator.addMethod("mobileNL",function(t,e){return this.optional(e)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(t)},"Please specify a valid mobile number"),jQuery.validator.addMethod("postalcodeNL",function(t,e){return this.optional(e)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(t)},"Please specify a valid postal code"),jQuery.validator.addMethod("bankaccountNL",function(t,e){if(this.optional(e))return!0;if(!/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(t))return!1;for(var i=t.replace(/ /g,""),a=0,r=i.length,n=0;r>n;n++){var s=r-n,u=i.substring(n,n+1);a+=s*u}return 0===a%11},"Please specify a valid bank account number"),jQuery.validator.addMethod("giroaccountNL",function(t,e){return this.optional(e)||/^[0-9]{1,7}$/.test(t)},"Please specify a valid giro account number"),jQuery.validator.addMethod("bankorgiroaccountNL",function(t,e){return this.optional(e)||$.validator.methods.bankaccountNL.call(this,t,e)||$.validator.methods.giroaccountNL.call(this,t,e)},"Please specify a valid bank or giro account number"),jQuery.validator.addMethod("time",function(t,e){return this.optional(e)||/^([01]\d|2[0-3])(:[0-5]\d){1,2}$/.test(t)},"Please enter a valid time, between 00:00 and 23:59"),jQuery.validator.addMethod("time12h",function(t,e){return this.optional(e)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(t)},"Please enter a valid time in 12-hour am/pm format"),jQuery.validator.addMethod("phoneUS",function(t,e){return t=t.replace(/\s+/g,""),this.optional(e)||t.length>9&&t.match(/^(\+?1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)},"Please specify a valid phone number"),jQuery.validator.addMethod("phoneUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number"),jQuery.validator.addMethod("mobileUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[45789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number"),jQuery.validator.addMethod("phonesUK",function(t,e){return t=t.replace(/\(|\)|\s+|-/g,""),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[45789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number"),jQuery.validator.addMethod("postcodeUK",function(t,e){return this.optional(e)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(t)},"Please specify a valid UK postcode"),jQuery.validator.addMethod("strippedminlength",function(t,e,i){return jQuery(t).text().length>=i},jQuery.validator.format("Please enter at least {0} characters")),jQuery.validator.addMethod("email2",function(t,e){return this.optional(e)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(t)},jQuery.validator.messages.email),jQuery.validator.addMethod("url2",function(t,e){return this.optional(e)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},jQuery.validator.messages.url),jQuery.validator.addMethod("creditcardtypes",function(t,e,i){if(/[^0-9\-]+/.test(t))return!1;t=t.replace(/\D/g,"");var a=0;return i.mastercard&&(a|=1),i.visa&&(a|=2),i.amex&&(a|=4),i.dinersclub&&(a|=8),i.enroute&&(a|=16),i.discover&&(a|=32),i.jcb&&(a|=64),i.unknown&&(a|=128),i.all&&(a=255),1&a&&/^(5[12345])/.test(t)?16===t.length:2&a&&/^(4)/.test(t)?16===t.length:4&a&&/^(3[47])/.test(t)?15===t.length:8&a&&/^(3(0[012345]|[68]))/.test(t)?14===t.length:16&a&&/^(2(014|149))/.test(t)?15===t.length:32&a&&/^(6011)/.test(t)?16===t.length:64&a&&/^(3)/.test(t)?16===t.length:64&a&&/^(2131|1800)/.test(t)?15===t.length:128&a?!0:!1},"Please enter a valid credit card number."),jQuery.validator.addMethod("ipv4",function(t,e){return this.optional(e)||/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(t)},"Please enter a valid IP v4 address."),jQuery.validator.addMethod("ipv6",function(t,e){return this.optional(e)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(t)},"Please enter a valid IP v6 address."),jQuery.validator.addMethod("pattern",function(t,e,i){return this.optional(e)?!0:("string"==typeof i&&(i=RegExp("^(?:"+i+")$")),i.test(t))},"Invalid format."),jQuery.validator.addMethod("require_from_group",function(t,e,i){var a=this,r=i[1],n=$(r,e.form).filter(function(){return a.elementValue(this)}).length>=i[0];if(!$(e).data("being_validated")){var s=$(r,e.form);s.data("being_validated",!0),s.valid(),s.data("being_validated",!1)}return n},jQuery.format("Please fill at least {0} of these fields.")),jQuery.validator.addMethod("skip_or_fill_minimum",function(t,e,i){var a=this,r=i[0],n=i[1],s=$(n,e.form).filter(function(){return a.elementValue(this)}).length,u=s>=r||0===s;if(!$(e).data("being_validated")){var d=$(n,e.form);d.data("being_validated",!0),d.valid(),d.data("being_validated",!1)}return u},jQuery.format("Please either skip these fields or fill at least {0} of them.")),jQuery.validator.addMethod("accept",function(t,e,i){var a,r,n="string"==typeof i?i.replace(/\s/g,"").replace(/,/g,"|"):"image/*",s=this.optional(e);if(s)return s;if("file"===$(e).attr("type")&&(n=n.replace(/\*/g,".*"),e.files&&e.files.length))for(a=0;e.files.length>a;a++)if(r=e.files[a],!r.type.match(RegExp(".?("+n+")$","i")))return!1;return!0},jQuery.format("Please enter a value with a valid mimetype.")),jQuery.validator.addMethod("extension",function(t,e,i){return i="string"==typeof i?i.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(e)||t.match(RegExp(".("+i+")$","i"))},jQuery.format("Please enter a value with a valid extension.")); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/jquery.validate.js b/js/lib/jquery/plugins/validate/jquery.validate.js deleted file mode 100644 index 88ba300ea9c..00000000000 --- a/js/lib/jquery/plugins/validate/jquery.validate.js +++ /dev/null @@ -1,1231 +0,0 @@ -/*! - * jQuery Validation Plugin 1.11.1 - * - * http://bassistance.de/jquery-plugins/jquery-plugin-validation/ - * http://docs.jquery.com/Plugins/Validation - * - * Copyright 2013 Jörn Zaefferer - * Released under the MIT license: - * http://www.opensource.org/licenses/mit-license.php - */ - -(function($) { - -$.extend($.fn, { - // http://docs.jquery.com/Plugins/Validation/validate - validate: function( options ) { - - // if nothing is selected, return nothing; can't chain anyway - if ( !this.length ) { - if ( options && options.debug && window.console ) { - console.warn( "Nothing selected, can't validate, returning nothing." ); - } - return; - } - - // check if a validator for this form was already created - var validator = $.data( this[0], "validator" ); - if ( validator ) { - return validator; - } - - // Add novalidate tag if HTML5. - this.attr( "novalidate", "novalidate" ); - - validator = new $.validator( options, this[0] ); - $.data( this[0], "validator", validator ); - - if ( validator.settings.onsubmit ) { - - this.validateDelegate( ":submit", "click", function( event ) { - if ( validator.settings.submitHandler ) { - validator.submitButton = event.target; - } - // allow suppressing validation by adding a cancel class to the submit button - if ( $(event.target).hasClass("cancel") ) { - validator.cancelSubmit = true; - } - - // allow suppressing validation by adding the html5 formnovalidate attribute to the submit button - if ( $(event.target).attr("formnovalidate") !== undefined ) { - validator.cancelSubmit = true; - } - }); - - // validate the form on submit - this.submit( function( event ) { - if ( validator.settings.debug ) { - // prevent form submit to be able to see console output - event.preventDefault(); - } - function handle() { - var hidden; - if ( validator.settings.submitHandler ) { - if ( validator.submitButton ) { - // insert a hidden input as a replacement for the missing submit button - hidden = $("").attr("name", validator.submitButton.name).val( $(validator.submitButton).val() ).appendTo(validator.currentForm); - } - validator.settings.submitHandler.call( validator, validator.currentForm, event ); - if ( validator.submitButton ) { - // and clean up afterwards; thanks to no-block-scope, hidden can be referenced - hidden.remove(); - } - return false; - } - return true; - } - - // prevent submit for invalid forms or custom submit handlers - if ( validator.cancelSubmit ) { - validator.cancelSubmit = false; - return handle(); - } - if ( validator.form() ) { - if ( validator.pendingRequest ) { - validator.formSubmitted = true; - return false; - } - return handle(); - } else { - validator.focusInvalid(); - return false; - } - }); - } - - return validator; - }, - // http://docs.jquery.com/Plugins/Validation/valid - valid: function() { - if ( $(this[0]).is("form")) { - return this.validate().form(); - } else { - var valid = true; - var validator = $(this[0].form).validate(); - this.each(function() { - valid = valid && validator.element(this); - }); - return valid; - } - }, - // attributes: space seperated list of attributes to retrieve and remove - removeAttrs: function( attributes ) { - var result = {}, - $element = this; - $.each(attributes.split(/\s/), function( index, value ) { - result[value] = $element.attr(value); - $element.removeAttr(value); - }); - return result; - }, - // http://docs.jquery.com/Plugins/Validation/rules - rules: function( command, argument ) { - var element = this[0]; - - if ( command ) { - var settings = $.data(element.form, "validator").settings; - var staticRules = settings.rules; - var existingRules = $.validator.staticRules(element); - switch(command) { - case "add": - $.extend(existingRules, $.validator.normalizeRule(argument)); - // remove messages from rules, but allow them to be set separetely - delete existingRules.messages; - staticRules[element.name] = existingRules; - if ( argument.messages ) { - settings.messages[element.name] = $.extend( settings.messages[element.name], argument.messages ); - } - break; - case "remove": - if ( !argument ) { - delete staticRules[element.name]; - return existingRules; - } - var filtered = {}; - $.each(argument.split(/\s/), function( index, method ) { - filtered[method] = existingRules[method]; - delete existingRules[method]; - }); - return filtered; - } - } - - var data = $.validator.normalizeRules( - $.extend( - {}, - $.validator.classRules(element), - $.validator.attributeRules(element), - $.validator.dataRules(element), - $.validator.staticRules(element) - ), element); - - // make sure required is at front - if ( data.required ) { - var param = data.required; - delete data.required; - data = $.extend({required: param}, data); - } - - return data; - } -}); - -// Custom selectors -$.extend($.expr[":"], { - // http://docs.jquery.com/Plugins/Validation/blank - blank: function( a ) { return !$.trim("" + $(a).val()); }, - // http://docs.jquery.com/Plugins/Validation/filled - filled: function( a ) { return !!$.trim("" + $(a).val()); }, - // http://docs.jquery.com/Plugins/Validation/unchecked - unchecked: function( a ) { return !$(a).prop("checked"); } -}); - -// constructor for validator -$.validator = function( options, form ) { - this.settings = $.extend( true, {}, $.validator.defaults, options ); - this.currentForm = form; - this.init(); -}; - -$.validator.format = function( source, params ) { - if ( arguments.length === 1 ) { - return function() { - var args = $.makeArray(arguments); - args.unshift(source); - return $.validator.format.apply( this, args ); - }; - } - if ( arguments.length > 2 && params.constructor !== Array ) { - params = $.makeArray(arguments).slice(1); - } - if ( params.constructor !== Array ) { - params = [ params ]; - } - $.each(params, function( i, n ) { - source = source.replace( new RegExp("\\{" + i + "\\}", "g"), function() { - return n; - }); - }); - return source; -}; - -$.extend($.validator, { - - defaults: { - messages: {}, - groups: {}, - rules: {}, - errorClass: "error", - validClass: "valid", - errorElement: "label", - focusInvalid: true, - errorContainer: $([]), - errorLabelContainer: $([]), - onsubmit: true, - ignore: ":hidden", - ignoreTitle: false, - onfocusin: function( element, event ) { - this.lastActive = element; - - // hide error label and remove error class on focus if enabled - if ( this.settings.focusCleanup && !this.blockFocusCleanup ) { - if ( this.settings.unhighlight ) { - this.settings.unhighlight.call( this, element, this.settings.errorClass, this.settings.validClass ); - } - this.addWrapper(this.errorsFor(element)).hide(); - } - }, - onfocusout: function( element, event ) { - if ( !this.checkable(element) && (element.name in this.submitted || !this.optional(element)) ) { - this.element(element); - } - }, - onkeyup: function( element, event ) { - if ( event.which === 9 && this.elementValue(element) === "" ) { - return; - } else if ( element.name in this.submitted || element === this.lastElement ) { - this.element(element); - } - }, - onclick: function( element, event ) { - // click on selects, radiobuttons and checkboxes - if ( element.name in this.submitted ) { - this.element(element); - } - // or option elements, check parent select in that case - else if ( element.parentNode.name in this.submitted ) { - this.element(element.parentNode); - } - }, - highlight: function( element, errorClass, validClass ) { - if ( element.type === "radio" ) { - this.findByName(element.name).addClass(errorClass).removeClass(validClass); - } else { - $(element).addClass(errorClass).removeClass(validClass); - } - }, - unhighlight: function( element, errorClass, validClass ) { - if ( element.type === "radio" ) { - this.findByName(element.name).removeClass(errorClass).addClass(validClass); - } else { - $(element).removeClass(errorClass).addClass(validClass); - } - } - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/setDefaults - setDefaults: function( settings ) { - $.extend( $.validator.defaults, settings ); - }, - - messages: { - required: "This field is required.", - remote: "Please fix this field.", - email: "Please enter a valid email address.", - url: "Please enter a valid URL.", - date: "Please enter a valid date.", - dateISO: "Please enter a valid date (ISO).", - number: "Please enter a valid number.", - digits: "Please enter only digits.", - creditcard: "Please enter a valid credit card number.", - equalTo: "Please enter the same value again.", - maxlength: $.validator.format("Please enter no more than {0} characters."), - minlength: $.validator.format("Please enter at least {0} characters."), - rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."), - range: $.validator.format("Please enter a value between {0} and {1}."), - max: $.validator.format("Please enter a value less than or equal to {0}."), - min: $.validator.format("Please enter a value greater than or equal to {0}.") - }, - - autoCreateRanges: false, - - prototype: { - - init: function() { - this.labelContainer = $(this.settings.errorLabelContainer); - this.errorContext = this.labelContainer.length && this.labelContainer || $(this.currentForm); - this.containers = $(this.settings.errorContainer).add( this.settings.errorLabelContainer ); - this.submitted = {}; - this.valueCache = {}; - this.pendingRequest = 0; - this.pending = {}; - this.invalid = {}; - this.reset(); - - var groups = (this.groups = {}); - $.each(this.settings.groups, function( key, value ) { - if ( typeof value === "string" ) { - value = value.split(/\s/); - } - $.each(value, function( index, name ) { - groups[name] = key; - }); - }); - var rules = this.settings.rules; - $.each(rules, function( key, value ) { - rules[key] = $.validator.normalizeRule(value); - }); - - function delegate(event) { - var validator = $.data(this[0].form, "validator"), - eventType = "on" + event.type.replace(/^validate/, ""); - if ( validator.settings[eventType] ) { - validator.settings[eventType].call(validator, this[0], event); - } - } - $(this.currentForm) - .validateDelegate(":text, [type='password'], [type='file'], select, textarea, " + - "[type='number'], [type='search'] ,[type='tel'], [type='url'], " + - "[type='email'], [type='datetime'], [type='date'], [type='month'], " + - "[type='week'], [type='time'], [type='datetime-local'], " + - "[type='range'], [type='color'] ", - "focusin focusout keyup", delegate) - .validateDelegate("[type='radio'], [type='checkbox'], select, option", "click", delegate); - - if ( this.settings.invalidHandler ) { - $(this.currentForm).bind("invalid-form.validate", this.settings.invalidHandler); - } - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/form - form: function() { - this.checkForm(); - $.extend(this.submitted, this.errorMap); - this.invalid = $.extend({}, this.errorMap); - if ( !this.valid() ) { - $(this.currentForm).triggerHandler("invalid-form", [this]); - } - this.showErrors(); - return this.valid(); - }, - - checkForm: function() { - this.prepareForm(); - for ( var i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++ ) { - this.check( elements[i] ); - } - return this.valid(); - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/element - element: function( element ) { - element = this.validationTargetFor( this.clean( element ) ); - this.lastElement = element; - this.prepareElement( element ); - this.currentElements = $(element); - var result = this.check( element ) !== false; - if ( result ) { - delete this.invalid[element.name]; - } else { - this.invalid[element.name] = true; - } - if ( !this.numberOfInvalids() ) { - // Hide error containers on last error - this.toHide = this.toHide.add( this.containers ); - } - this.showErrors(); - return result; - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/showErrors - showErrors: function( errors ) { - if ( errors ) { - // add items to error list and map - $.extend( this.errorMap, errors ); - this.errorList = []; - for ( var name in errors ) { - this.errorList.push({ - message: errors[name], - element: this.findByName(name)[0] - }); - } - // remove items from success list - this.successList = $.grep( this.successList, function( element ) { - return !(element.name in errors); - }); - } - if ( this.settings.showErrors ) { - this.settings.showErrors.call( this, this.errorMap, this.errorList ); - } else { - this.defaultShowErrors(); - } - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/resetForm - resetForm: function() { - if ( $.fn.resetForm ) { - $(this.currentForm).resetForm(); - } - this.submitted = {}; - this.lastElement = null; - this.prepareForm(); - this.hideErrors(); - this.elements().removeClass( this.settings.errorClass ).removeData( "previousValue" ); - }, - - numberOfInvalids: function() { - return this.objectLength(this.invalid); - }, - - objectLength: function( obj ) { - var count = 0; - for ( var i in obj ) { - count++; - } - return count; - }, - - hideErrors: function() { - this.addWrapper( this.toHide ).hide(); - }, - - valid: function() { - return this.size() === 0; - }, - - size: function() { - return this.errorList.length; - }, - - focusInvalid: function() { - if ( this.settings.focusInvalid ) { - try { - $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []) - .filter(":visible") - .focus() - // manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find - .trigger("focusin"); - } catch(e) { - // ignore IE throwing errors when focusing hidden elements - } - } - }, - - findLastActive: function() { - var lastActive = this.lastActive; - return lastActive && $.grep(this.errorList, function( n ) { - return n.element.name === lastActive.name; - }).length === 1 && lastActive; - }, - - elements: function() { - var validator = this, - rulesCache = {}; - - // select all valid inputs inside the form (no submit or reset buttons) - return $(this.currentForm) - .find("input, select, textarea") - .not(":submit, :reset, :image, [disabled]") - .not( this.settings.ignore ) - .filter(function() { - if ( !this.name && validator.settings.debug && window.console ) { - console.error( "%o has no name assigned", this); - } - - // select only the first element for each name, and only those with rules specified - if ( this.name in rulesCache || !validator.objectLength($(this).rules()) ) { - return false; - } - - rulesCache[this.name] = true; - return true; - }); - }, - - clean: function( selector ) { - return $(selector)[0]; - }, - - errors: function() { - var errorClass = this.settings.errorClass.replace(" ", "."); - return $(this.settings.errorElement + "." + errorClass, this.errorContext); - }, - - reset: function() { - this.successList = []; - this.errorList = []; - this.errorMap = {}; - this.toShow = $([]); - this.toHide = $([]); - this.currentElements = $([]); - }, - - prepareForm: function() { - this.reset(); - this.toHide = this.errors().add( this.containers ); - }, - - prepareElement: function( element ) { - this.reset(); - this.toHide = this.errorsFor(element); - }, - - elementValue: function( element ) { - var type = $(element).attr("type"), - val = $(element).val(); - - if ( type === "radio" || type === "checkbox" ) { - return $("input[name='" + $(element).attr("name") + "']:checked").val(); - } - - if ( typeof val === "string" ) { - return val.replace(/\r/g, ""); - } - return val; - }, - - check: function( element ) { - element = this.validationTargetFor( this.clean( element ) ); - - var rules = $(element).rules(); - var dependencyMismatch = false; - var val = this.elementValue(element); - var result; - - for (var method in rules ) { - var rule = { method: method, parameters: rules[method] }; - try { - - result = $.validator.methods[method].call( this, val, element, rule.parameters ); - - // if a method indicates that the field is optional and therefore valid, - // don't mark it as valid when there are no other rules - if ( result === "dependency-mismatch" ) { - dependencyMismatch = true; - continue; - } - dependencyMismatch = false; - - if ( result === "pending" ) { - this.toHide = this.toHide.not( this.errorsFor(element) ); - return; - } - - if ( !result ) { - this.formatAndAdd( element, rule ); - return false; - } - } catch(e) { - if ( this.settings.debug && window.console ) { - console.log( "Exception occurred when checking element " + element.id + ", check the '" + rule.method + "' method.", e ); - } - throw e; - } - } - if ( dependencyMismatch ) { - return; - } - if ( this.objectLength(rules) ) { - this.successList.push(element); - } - return true; - }, - - // return the custom message for the given element and validation method - // specified in the element's HTML5 data attribute - customDataMessage: function( element, method ) { - return $(element).data("msg-" + method.toLowerCase()) || (element.attributes && $(element).attr("data-msg-" + method.toLowerCase())); - }, - - // return the custom message for the given element name and validation method - customMessage: function( name, method ) { - var m = this.settings.messages[name]; - return m && (m.constructor === String ? m : m[method]); - }, - - // return the first defined argument, allowing empty strings - findDefined: function() { - for(var i = 0; i < arguments.length; i++) { - if ( arguments[i] !== undefined ) { - return arguments[i]; - } - } - return undefined; - }, - - defaultMessage: function( element, method ) { - return this.findDefined( - this.customMessage( element.name, method ), - this.customDataMessage( element, method ), - // title is never undefined, so handle empty string as undefined - !this.settings.ignoreTitle && element.title || undefined, - $.validator.messages[method], - "Warning: No message defined for " + element.name + "" - ); - }, - - formatAndAdd: function( element, rule ) { - var message = this.defaultMessage( element, rule.method ), - theregex = /\$?\{(\d+)\}/g; - if ( typeof message === "function" ) { - message = message.call(this, rule.parameters, element); - } else if (theregex.test(message)) { - message = $.validator.format(message.replace(theregex, "{$1}"), rule.parameters); - } - this.errorList.push({ - message: message, - element: element - }); - - this.errorMap[element.name] = message; - this.submitted[element.name] = message; - }, - - addWrapper: function( toToggle ) { - if ( this.settings.wrapper ) { - toToggle = toToggle.add( toToggle.parent( this.settings.wrapper ) ); - } - return toToggle; - }, - - defaultShowErrors: function() { - var i, elements; - for ( i = 0; this.errorList[i]; i++ ) { - var error = this.errorList[i]; - if ( this.settings.highlight ) { - this.settings.highlight.call( this, error.element, this.settings.errorClass, this.settings.validClass ); - } - this.showLabel( error.element, error.message ); - } - if ( this.errorList.length ) { - this.toShow = this.toShow.add( this.containers ); - } - if ( this.settings.success ) { - for ( i = 0; this.successList[i]; i++ ) { - this.showLabel( this.successList[i] ); - } - } - if ( this.settings.unhighlight ) { - for ( i = 0, elements = this.validElements(); elements[i]; i++ ) { - this.settings.unhighlight.call( this, elements[i], this.settings.errorClass, this.settings.validClass ); - } - } - this.toHide = this.toHide.not( this.toShow ); - this.hideErrors(); - this.addWrapper( this.toShow ).show(); - }, - - validElements: function() { - return this.currentElements.not(this.invalidElements()); - }, - - invalidElements: function() { - return $(this.errorList).map(function() { - return this.element; - }); - }, - - showLabel: function( element, message ) { - var label = this.errorsFor( element ); - if ( label.length ) { - // refresh error/success class - label.removeClass( this.settings.validClass ).addClass( this.settings.errorClass ); - // replace message on existing label - label.html(message); - } else { - // create label - label = $("<" + this.settings.errorElement + ">") - .attr("for", this.idOrName(element)) - .addClass(this.settings.errorClass) - .html(message || ""); - if ( this.settings.wrapper ) { - // make sure the element is visible, even in IE - // actually showing the wrapped element is handled elsewhere - label = label.hide().show().wrap("<" + this.settings.wrapper + "/>").parent(); - } - if ( !this.labelContainer.append(label).length ) { - if ( this.settings.errorPlacement ) { - this.settings.errorPlacement(label, $(element) ); - } else { - label.insertAfter(element); - } - } - } - if ( !message && this.settings.success ) { - label.text(""); - if ( typeof this.settings.success === "string" ) { - label.addClass( this.settings.success ); - } else { - this.settings.success( label, element ); - } - } - this.toShow = this.toShow.add(label); - }, - - errorsFor: function( element ) { - var name = this.idOrName(element); - return this.errors().filter(function() { - return $(this).attr("for") === name; - }); - }, - - idOrName: function( element ) { - return this.groups[element.name] || (this.checkable(element) ? element.name : element.id || element.name); - }, - - validationTargetFor: function( element ) { - // if radio/checkbox, validate first element in group instead - if ( this.checkable(element) ) { - element = this.findByName( element.name ).not(this.settings.ignore)[0]; - } - return element; - }, - - checkable: function( element ) { - return (/radio|checkbox/i).test(element.type); - }, - - findByName: function( name ) { - return $(this.currentForm).find("[name='" + name + "']"); - }, - - getLength: function( value, element ) { - switch( element.nodeName.toLowerCase() ) { - case "select": - return $("option:selected", element).length; - case "input": - if ( this.checkable( element) ) { - return this.findByName(element.name).filter(":checked").length; - } - } - return value.length; - }, - - depend: function( param, element ) { - return this.dependTypes[typeof param] ? this.dependTypes[typeof param](param, element) : true; - }, - - dependTypes: { - "boolean": function( param, element ) { - return param; - }, - "string": function( param, element ) { - return !!$(param, element.form).length; - }, - "function": function( param, element ) { - return param(element); - } - }, - - optional: function( element ) { - var val = this.elementValue(element); - return !$.validator.methods.required.call(this, val, element) && "dependency-mismatch"; - }, - - startRequest: function( element ) { - if ( !this.pending[element.name] ) { - this.pendingRequest++; - this.pending[element.name] = true; - } - }, - - stopRequest: function( element, valid ) { - this.pendingRequest--; - // sometimes synchronization fails, make sure pendingRequest is never < 0 - if ( this.pendingRequest < 0 ) { - this.pendingRequest = 0; - } - delete this.pending[element.name]; - if ( valid && this.pendingRequest === 0 && this.formSubmitted && this.form() ) { - $(this.currentForm).submit(); - this.formSubmitted = false; - } else if (!valid && this.pendingRequest === 0 && this.formSubmitted) { - $(this.currentForm).triggerHandler("invalid-form", [this]); - this.formSubmitted = false; - } - }, - - previousValue: function( element ) { - return $.data(element, "previousValue") || $.data(element, "previousValue", { - old: null, - valid: true, - message: this.defaultMessage( element, "remote" ) - }); - } - - }, - - classRuleSettings: { - required: {required: true}, - email: {email: true}, - url: {url: true}, - date: {date: true}, - dateISO: {dateISO: true}, - number: {number: true}, - digits: {digits: true}, - creditcard: {creditcard: true} - }, - - addClassRules: function( className, rules ) { - if ( className.constructor === String ) { - this.classRuleSettings[className] = rules; - } else { - $.extend(this.classRuleSettings, className); - } - }, - - classRules: function( element ) { - var rules = {}; - var classes = $(element).attr("class"); - if ( classes ) { - $.each(classes.split(" "), function() { - if ( this in $.validator.classRuleSettings ) { - $.extend(rules, $.validator.classRuleSettings[this]); - } - }); - } - return rules; - }, - - attributeRules: function( element ) { - var rules = {}; - var $element = $(element); - var type = $element[0].getAttribute("type"); - - for (var method in $.validator.methods) { - var value; - - // support for in both html5 and older browsers - if ( method === "required" ) { - value = $element.get(0).getAttribute(method); - // Some browsers return an empty string for the required attribute - // and non-HTML5 browsers might have required="" markup - if ( value === "" ) { - value = true; - } - // force non-HTML5 browsers to return bool - value = !!value; - } else { - value = $element.attr(method); - } - - // convert the value to a number for number inputs, and for text for backwards compability - // allows type="date" and others to be compared as strings - if ( /min|max/.test( method ) && ( type === null || /number|range|text/.test( type ) ) ) { - value = Number(value); - } - - if ( value ) { - rules[method] = value; - } else if ( type === method && type !== 'range' ) { - // exception: the jquery validate 'range' method - // does not test for the html5 'range' type - rules[method] = true; - } - } - - // maxlength may be returned as -1, 2147483647 (IE) and 524288 (safari) for text inputs - if ( rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength) ) { - delete rules.maxlength; - } - - return rules; - }, - - dataRules: function( element ) { - var method, value, - rules = {}, $element = $(element); - for (method in $.validator.methods) { - value = $element.data("rule-" + method.toLowerCase()); - if ( value !== undefined ) { - rules[method] = value; - } - } - return rules; - }, - - staticRules: function( element ) { - var rules = {}; - var validator = $.data(element.form, "validator"); - if ( validator.settings.rules ) { - rules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {}; - } - return rules; - }, - - normalizeRules: function( rules, element ) { - // handle dependency check - $.each(rules, function( prop, val ) { - // ignore rule when param is explicitly false, eg. required:false - if ( val === false ) { - delete rules[prop]; - return; - } - if ( val.param || val.depends ) { - var keepRule = true; - switch (typeof val.depends) { - case "string": - keepRule = !!$(val.depends, element.form).length; - break; - case "function": - keepRule = val.depends.call(element, element); - break; - } - if ( keepRule ) { - rules[prop] = val.param !== undefined ? val.param : true; - } else { - delete rules[prop]; - } - } - }); - - // evaluate parameters - $.each(rules, function( rule, parameter ) { - rules[rule] = $.isFunction(parameter) ? parameter(element) : parameter; - }); - - // clean number parameters - $.each(['minlength', 'maxlength'], function() { - if ( rules[this] ) { - rules[this] = Number(rules[this]); - } - }); - $.each(['rangelength', 'range'], function() { - var parts; - if ( rules[this] ) { - if ( $.isArray(rules[this]) ) { - rules[this] = [Number(rules[this][0]), Number(rules[this][1])]; - } else if ( typeof rules[this] === "string" ) { - parts = rules[this].split(/[\s,]+/); - rules[this] = [Number(parts[0]), Number(parts[1])]; - } - } - }); - - if ( $.validator.autoCreateRanges ) { - // auto-create ranges - if ( rules.min && rules.max ) { - rules.range = [rules.min, rules.max]; - delete rules.min; - delete rules.max; - } - if ( rules.minlength && rules.maxlength ) { - rules.rangelength = [rules.minlength, rules.maxlength]; - delete rules.minlength; - delete rules.maxlength; - } - } - - return rules; - }, - - // Converts a simple string to a {string: true} rule, e.g., "required" to {required:true} - normalizeRule: function( data ) { - if ( typeof data === "string" ) { - var transformed = {}; - $.each(data.split(/\s/), function() { - transformed[this] = true; - }); - data = transformed; - } - return data; - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/addMethod - addMethod: function( name, method, message ) { - $.validator.methods[name] = method; - $.validator.messages[name] = message !== undefined ? message : $.validator.messages[name]; - if ( method.length < 3 ) { - $.validator.addClassRules(name, $.validator.normalizeRule(name)); - } - }, - - methods: { - - // http://docs.jquery.com/Plugins/Validation/Methods/required - required: function( value, element, param ) { - // check if dependency is met - if ( !this.depend(param, element) ) { - return "dependency-mismatch"; - } - if ( element.nodeName.toLowerCase() === "select" ) { - // could be an array for select-multiple or a string, both are fine this way - var val = $(element).val(); - return val && val.length > 0; - } - if ( this.checkable(element) ) { - return this.getLength(value, element) > 0; - } - return $.trim(value).length > 0; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/email - email: function( value, element ) { - // contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/ - return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/url - url: function( value, element ) { - // contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/ - return this.optional(element) || /^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/date - date: function( value, element ) { - return this.optional(element) || !/Invalid|NaN/.test(new Date(value).toString()); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/dateISO - dateISO: function( value, element ) { - return this.optional(element) || /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(value); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/number - number: function( value, element ) { - return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/digits - digits: function( value, element ) { - return this.optional(element) || /^\d+$/.test(value); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/creditcard - // based on http://en.wikipedia.org/wiki/Luhn - creditcard: function( value, element ) { - if ( this.optional(element) ) { - return "dependency-mismatch"; - } - // accept only spaces, digits and dashes - if ( /[^0-9 \-]+/.test(value) ) { - return false; - } - var nCheck = 0, - nDigit = 0, - bEven = false; - - value = value.replace(/\D/g, ""); - - for (var n = value.length - 1; n >= 0; n--) { - var cDigit = value.charAt(n); - nDigit = parseInt(cDigit, 10); - if ( bEven ) { - if ( (nDigit *= 2) > 9 ) { - nDigit -= 9; - } - } - nCheck += nDigit; - bEven = !bEven; - } - - return (nCheck % 10) === 0; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/minlength - minlength: function( value, element, param ) { - var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element); - return this.optional(element) || length >= param; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/maxlength - maxlength: function( value, element, param ) { - var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element); - return this.optional(element) || length <= param; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/rangelength - rangelength: function( value, element, param ) { - var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element); - return this.optional(element) || ( length >= param[0] && length <= param[1] ); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/min - min: function( value, element, param ) { - return this.optional(element) || value >= param; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/max - max: function( value, element, param ) { - return this.optional(element) || value <= param; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/range - range: function( value, element, param ) { - return this.optional(element) || ( value >= param[0] && value <= param[1] ); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/equalTo - equalTo: function( value, element, param ) { - // bind to the blur event of the target in order to revalidate whenever the target field is updated - // TODO find a way to bind the event just once, avoiding the unbind-rebind overhead - var target = $(param); - if ( this.settings.onfocusout ) { - target.unbind(".validate-equalTo").bind("blur.validate-equalTo", function() { - $(element).valid(); - }); - } - return value === target.val(); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/remote - remote: function( value, element, param ) { - if ( this.optional(element) ) { - return "dependency-mismatch"; - } - - var previous = this.previousValue(element); - if (!this.settings.messages[element.name] ) { - this.settings.messages[element.name] = {}; - } - previous.originalMessage = this.settings.messages[element.name].remote; - this.settings.messages[element.name].remote = previous.message; - - param = typeof param === "string" && {url:param} || param; - - if ( previous.old === value ) { - return previous.valid; - } - - previous.old = value; - var validator = this; - this.startRequest(element); - var data = {}; - data[element.name] = value; - $.ajax($.extend(true, { - url: param, - mode: "abort", - port: "validate" + element.name, - dataType: "json", - data: data, - success: function( response ) { - validator.settings.messages[element.name].remote = previous.originalMessage; - var valid = response === true || response === "true"; - if ( valid ) { - var submitted = validator.formSubmitted; - validator.prepareElement(element); - validator.formSubmitted = submitted; - validator.successList.push(element); - delete validator.invalid[element.name]; - validator.showErrors(); - } else { - var errors = {}; - var message = response || validator.defaultMessage( element, "remote" ); - errors[element.name] = previous.message = $.isFunction(message) ? message(value) : message; - validator.invalid[element.name] = true; - validator.showErrors(errors); - } - previous.valid = valid; - validator.stopRequest(element, valid); - } - }, param)); - return "pending"; - } - - } - -}); - -// deprecated, use $.validator.format instead -$.format = $.validator.format; - -}(jQuery)); - -// ajax mode: abort -// usage: $.ajax({ mode: "abort"[, port: "uniqueport"]}); -// if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort() -(function($) { - var pendingRequests = {}; - // Use a prefilter if available (1.5+) - if ( $.ajaxPrefilter ) { - $.ajaxPrefilter(function( settings, _, xhr ) { - var port = settings.port; - if ( settings.mode === "abort" ) { - if ( pendingRequests[port] ) { - pendingRequests[port].abort(); - } - pendingRequests[port] = xhr; - } - }); - } else { - // Proxy ajax - var ajax = $.ajax; - $.ajax = function( settings ) { - var mode = ( "mode" in settings ? settings : $.ajaxSettings ).mode, - port = ( "port" in settings ? settings : $.ajaxSettings ).port; - if ( mode === "abort" ) { - if ( pendingRequests[port] ) { - pendingRequests[port].abort(); - } - pendingRequests[port] = ajax.apply(this, arguments); - return pendingRequests[port]; - } - return ajax.apply(this, arguments); - }; - } -}(jQuery)); - -// provides delegate(type: String, delegate: Selector, handler: Callback) plugin for easier event delegation -// handler is only called when $(event.target).is(delegate), in the scope of the jquery-object for event.target -(function($) { - $.extend($.fn, { - validateDelegate: function( delegate, type, handler ) { - return this.bind(type, function( event ) { - var target = $(event.target); - if ( target.is(delegate) ) { - return handler.apply(target, arguments); - } - }); - } - }); -}(jQuery)); diff --git a/js/lib/jquery/plugins/validate/jquery.validate.min.js b/js/lib/jquery/plugins/validate/jquery.validate.min.js deleted file mode 100644 index cbaf5109a43..00000000000 --- a/js/lib/jquery/plugins/validate/jquery.validate.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery Validation Plugin - v1.11.1 - 3/22/2013\n* https://github.com/jzaefferer/jquery-validation -* Copyright (c) 2013 Jörn Zaefferer; Licensed MIT */(function(t){t.extend(t.fn,{validate:function(e){if(!this.length)return e&&e.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."),void 0;var i=t.data(this[0],"validator");return i?i:(this.attr("novalidate","novalidate"),i=new t.validator(e,this[0]),t.data(this[0],"validator",i),i.settings.onsubmit&&(this.validateDelegate(":submit","click",function(e){i.settings.submitHandler&&(i.submitButton=e.target),t(e.target).hasClass("cancel")&&(i.cancelSubmit=!0),void 0!==t(e.target).attr("formnovalidate")&&(i.cancelSubmit=!0)}),this.submit(function(e){function s(){var s;return i.settings.submitHandler?(i.submitButton&&(s=t("").attr("name",i.submitButton.name).val(t(i.submitButton).val()).appendTo(i.currentForm)),i.settings.submitHandler.call(i,i.currentForm,e),i.submitButton&&s.remove(),!1):!0}return i.settings.debug&&e.preventDefault(),i.cancelSubmit?(i.cancelSubmit=!1,s()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):s():(i.focusInvalid(),!1)})),i)},valid:function(){if(t(this[0]).is("form"))return this.validate().form();var e=!0,i=t(this[0].form).validate();return this.each(function(){e=e&&i.element(this)}),e},removeAttrs:function(e){var i={},s=this;return t.each(e.split(/\s/),function(t,e){i[e]=s.attr(e),s.removeAttr(e)}),i},rules:function(e,i){var s=this[0];if(e){var r=t.data(s.form,"validator").settings,n=r.rules,a=t.validator.staticRules(s);switch(e){case"add":t.extend(a,t.validator.normalizeRule(i)),delete a.messages,n[s.name]=a,i.messages&&(r.messages[s.name]=t.extend(r.messages[s.name],i.messages));break;case"remove":if(!i)return delete n[s.name],a;var u={};return t.each(i.split(/\s/),function(t,e){u[e]=a[e],delete a[e]}),u}}var o=t.validator.normalizeRules(t.extend({},t.validator.classRules(s),t.validator.attributeRules(s),t.validator.dataRules(s),t.validator.staticRules(s)),s);if(o.required){var l=o.required;delete o.required,o=t.extend({required:l},o)}return o}}),t.extend(t.expr[":"],{blank:function(e){return!t.trim(""+t(e).val())},filled:function(e){return!!t.trim(""+t(e).val())},unchecked:function(e){return!t(e).prop("checked")}}),t.validator=function(e,i){this.settings=t.extend(!0,{},t.validator.defaults,e),this.currentForm=i,this.init()},t.validator.format=function(e,i){return 1===arguments.length?function(){var i=t.makeArray(arguments);return i.unshift(e),t.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!==Array&&(i=t.makeArray(arguments).slice(1)),i.constructor!==Array&&(i=[i]),t.each(i,function(t,i){e=e.replace(RegExp("\\{"+t+"\\}","g"),function(){return i})}),e)},t.extend(t.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:t([]),errorLabelContainer:t([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(t){this.lastActive=t,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,t,this.settings.errorClass,this.settings.validClass),this.addWrapper(this.errorsFor(t)).hide())},onfocusout:function(t){this.checkable(t)||!(t.name in this.submitted)&&this.optional(t)||this.element(t)},onkeyup:function(t,e){(9!==e.which||""!==this.elementValue(t))&&(t.name in this.submitted||t===this.lastElement)&&this.element(t)},onclick:function(t){t.name in this.submitted?this.element(t):t.parentNode.name in this.submitted&&this.element(t.parentNode)},highlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).addClass(i).removeClass(s):t(e).addClass(i).removeClass(s)},unhighlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).removeClass(i).addClass(s):t(e).removeClass(i).addClass(s)}},setDefaults:function(e){t.extend(t.validator.defaults,e)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:t.validator.format("Please enter no more than {0} characters."),minlength:t.validator.format("Please enter at least {0} characters."),rangelength:t.validator.format("Please enter a value between {0} and {1} characters long."),range:t.validator.format("Please enter a value between {0} and {1}."),max:t.validator.format("Please enter a value less than or equal to {0}."),min:t.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function e(e){var i=t.data(this[0].form,"validator"),s="on"+e.type.replace(/^validate/,"");i.settings[s]&&i.settings[s].call(i,this[0],e)}this.labelContainer=t(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||t(this.currentForm),this.containers=t(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var i=this.groups={};t.each(this.settings.groups,function(e,s){"string"==typeof s&&(s=s.split(/\s/)),t.each(s,function(t,s){i[s]=e})});var s=this.settings.rules;t.each(s,function(e,i){s[e]=t.validator.normalizeRule(i)}),t(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",e).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",e),this.settings.invalidHandler&&t(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),t.extend(this.submitted,this.errorMap),this.invalid=t.extend({},this.errorMap),this.valid()||t(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var t=0,e=this.currentElements=this.elements();e[t];t++)this.check(e[t]);return this.valid()},element:function(e){e=this.validationTargetFor(this.clean(e)),this.lastElement=e,this.prepareElement(e),this.currentElements=t(e);var i=this.check(e)!==!1;return i?delete this.invalid[e.name]:this.invalid[e.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),i},showErrors:function(e){if(e){t.extend(this.errorMap,e),this.errorList=[];for(var i in e)this.errorList.push({message:e[i],element:this.findByName(i)[0]});this.successList=t.grep(this.successList,function(t){return!(t.name in e)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){t.fn.resetForm&&t(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(t){var e=0;for(var i in t)e++;return e},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{t(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(e){}},findLastActive:function(){var e=this.lastActive;return e&&1===t.grep(this.errorList,function(t){return t.element.name===e.name}).length&&e},elements:function(){var e=this,i={};return t(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return!this.name&&e.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in i||!e.objectLength(t(this).rules())?!1:(i[this.name]=!0,!0)})},clean:function(e){return t(e)[0]},errors:function(){var e=this.settings.errorClass.replace(" ",".");return t(this.settings.errorElement+"."+e,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=t([]),this.toHide=t([]),this.currentElements=t([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(t){this.reset(),this.toHide=this.errorsFor(t)},elementValue:function(e){var i=t(e).attr("type"),s=t(e).val();return"radio"===i||"checkbox"===i?t("input[name='"+t(e).attr("name")+"']:checked").val():"string"==typeof s?s.replace(/\r/g,""):s},check:function(e){e=this.validationTargetFor(this.clean(e));var i,s=t(e).rules(),r=!1,n=this.elementValue(e);for(var a in s){var u={method:a,parameters:s[a]};try{if(i=t.validator.methods[a].call(this,n,e,u.parameters),"dependency-mismatch"===i){r=!0;continue}if(r=!1,"pending"===i)return this.toHide=this.toHide.not(this.errorsFor(e)),void 0;if(!i)return this.formatAndAdd(e,u),!1}catch(o){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+e.id+", check the '"+u.method+"' method.",o),o}}return r?void 0:(this.objectLength(s)&&this.successList.push(e),!0)},customDataMessage:function(e,i){return t(e).data("msg-"+i.toLowerCase())||e.attributes&&t(e).attr("data-msg-"+i.toLowerCase())},customMessage:function(t,e){var i=this.settings.messages[t];return i&&(i.constructor===String?i:i[e])},findDefined:function(){for(var t=0;arguments.length>t;t++)if(void 0!==arguments[t])return arguments[t];return void 0},defaultMessage:function(e,i){return this.findDefined(this.customMessage(e.name,i),this.customDataMessage(e,i),!this.settings.ignoreTitle&&e.title||void 0,t.validator.messages[i],"Warning: No message defined for "+e.name+"")},formatAndAdd:function(e,i){var s=this.defaultMessage(e,i.method),r=/\$?\{(\d+)\}/g;"function"==typeof s?s=s.call(this,i.parameters,e):r.test(s)&&(s=t.validator.format(s.replace(r,"{$1}"),i.parameters)),this.errorList.push({message:s,element:e}),this.errorMap[e.name]=s,this.submitted[e.name]=s},addWrapper:function(t){return this.settings.wrapper&&(t=t.add(t.parent(this.settings.wrapper))),t},defaultShowErrors:function(){var t,e;for(t=0;this.errorList[t];t++){var i=this.errorList[t];this.settings.highlight&&this.settings.highlight.call(this,i.element,this.settings.errorClass,this.settings.validClass),this.showLabel(i.element,i.message)}if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(t=0;this.successList[t];t++)this.showLabel(this.successList[t]);if(this.settings.unhighlight)for(t=0,e=this.validElements();e[t];t++)this.settings.unhighlight.call(this,e[t],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return t(this.errorList).map(function(){return this.element})},showLabel:function(e,i){var s=this.errorsFor(e);s.length?(s.removeClass(this.settings.validClass).addClass(this.settings.errorClass),s.html(i)):(s=t("<"+this.settings.errorElement+">").attr("for",this.idOrName(e)).addClass(this.settings.errorClass).html(i||""),this.settings.wrapper&&(s=s.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.append(s).length||(this.settings.errorPlacement?this.settings.errorPlacement(s,t(e)):s.insertAfter(e))),!i&&this.settings.success&&(s.text(""),"string"==typeof this.settings.success?s.addClass(this.settings.success):this.settings.success(s,e)),this.toShow=this.toShow.add(s)},errorsFor:function(e){var i=this.idOrName(e);return this.errors().filter(function(){return t(this).attr("for")===i})},idOrName:function(t){return this.groups[t.name]||(this.checkable(t)?t.name:t.id||t.name)},validationTargetFor:function(t){return this.checkable(t)&&(t=this.findByName(t.name).not(this.settings.ignore)[0]),t},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(e){return t(this.currentForm).find("[name='"+e+"']")},getLength:function(e,i){switch(i.nodeName.toLowerCase()){case"select":return t("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return e.length},depend:function(t,e){return this.dependTypes[typeof t]?this.dependTypes[typeof t](t,e):!0},dependTypes:{"boolean":function(t){return t},string:function(e,i){return!!t(e,i.form).length},"function":function(t,e){return t(e)}},optional:function(e){var i=this.elementValue(e);return!t.validator.methods.required.call(this,i,e)&&"dependency-mismatch"},startRequest:function(t){this.pending[t.name]||(this.pendingRequest++,this.pending[t.name]=!0)},stopRequest:function(e,i){this.pendingRequest--,0>this.pendingRequest&&(this.pendingRequest=0),delete this.pending[e.name],i&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(t(this.currentForm).submit(),this.formSubmitted=!1):!i&&0===this.pendingRequest&&this.formSubmitted&&(t(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(e){return t.data(e,"previousValue")||t.data(e,"previousValue",{old:null,valid:!0,message:this.defaultMessage(e,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(e,i){e.constructor===String?this.classRuleSettings[e]=i:t.extend(this.classRuleSettings,e)},classRules:function(e){var i={},s=t(e).attr("class");return s&&t.each(s.split(" "),function(){this in t.validator.classRuleSettings&&t.extend(i,t.validator.classRuleSettings[this])}),i},attributeRules:function(e){var i={},s=t(e),r=s[0].getAttribute("type");for(var n in t.validator.methods){var a;"required"===n?(a=s.get(0).getAttribute(n),""===a&&(a=!0),a=!!a):a=s.attr(n),/min|max/.test(n)&&(null===r||/number|range|text/.test(r))&&(a=Number(a)),a?i[n]=a:r===n&&"range"!==r&&(i[n]=!0)}return i.maxlength&&/-1|2147483647|524288/.test(i.maxlength)&&delete i.maxlength,i},dataRules:function(e){var i,s,r={},n=t(e);for(i in t.validator.methods)s=n.data("rule-"+i.toLowerCase()),void 0!==s&&(r[i]=s);return r},staticRules:function(e){var i={},s=t.data(e.form,"validator");return s.settings.rules&&(i=t.validator.normalizeRule(s.settings.rules[e.name])||{}),i},normalizeRules:function(e,i){return t.each(e,function(s,r){if(r===!1)return delete e[s],void 0;if(r.param||r.depends){var n=!0;switch(typeof r.depends){case"string":n=!!t(r.depends,i.form).length;break;case"function":n=r.depends.call(i,i)}n?e[s]=void 0!==r.param?r.param:!0:delete e[s]}}),t.each(e,function(s,r){e[s]=t.isFunction(r)?r(i):r}),t.each(["minlength","maxlength"],function(){e[this]&&(e[this]=Number(e[this]))}),t.each(["rangelength","range"],function(){var i;e[this]&&(t.isArray(e[this])?e[this]=[Number(e[this][0]),Number(e[this][1])]:"string"==typeof e[this]&&(i=e[this].split(/[\s,]+/),e[this]=[Number(i[0]),Number(i[1])]))}),t.validator.autoCreateRanges&&(e.min&&e.max&&(e.range=[e.min,e.max],delete e.min,delete e.max),e.minlength&&e.maxlength&&(e.rangelength=[e.minlength,e.maxlength],delete e.minlength,delete e.maxlength)),e},normalizeRule:function(e){if("string"==typeof e){var i={};t.each(e.split(/\s/),function(){i[this]=!0}),e=i}return e},addMethod:function(e,i,s){t.validator.methods[e]=i,t.validator.messages[e]=void 0!==s?s:t.validator.messages[e],3>i.length&&t.validator.addClassRules(e,t.validator.normalizeRule(e))},methods:{required:function(e,i,s){if(!this.depend(s,i))return"dependency-mismatch";if("select"===i.nodeName.toLowerCase()){var r=t(i).val();return r&&r.length>0}return this.checkable(i)?this.getLength(e,i)>0:t.trim(e).length>0},email:function(t,e){return this.optional(e)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(t)},url:function(t,e){return this.optional(e)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},date:function(t,e){return this.optional(e)||!/Invalid|NaN/.test(""+new Date(t))},dateISO:function(t,e){return this.optional(e)||/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(t)},number:function(t,e){return this.optional(e)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)},digits:function(t,e){return this.optional(e)||/^\d+$/.test(t)},creditcard:function(t,e){if(this.optional(e))return"dependency-mismatch";if(/[^0-9 \-]+/.test(t))return!1;var i=0,s=0,r=!1;t=t.replace(/\D/g,"");for(var n=t.length-1;n>=0;n--){var a=t.charAt(n);s=parseInt(a,10),r&&(s*=2)>9&&(s-=9),i+=s,r=!r}return 0===i%10},minlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s},maxlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||s>=r},rangelength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s[0]&&s[1]>=r},min:function(t,e,i){return this.optional(e)||t>=i},max:function(t,e,i){return this.optional(e)||i>=t},range:function(t,e,i){return this.optional(e)||t>=i[0]&&i[1]>=t},equalTo:function(e,i,s){var r=t(s);return this.settings.onfocusout&&r.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){t(i).valid()}),e===r.val()},remote:function(e,i,s){if(this.optional(i))return"dependency-mismatch";var r=this.previousValue(i);if(this.settings.messages[i.name]||(this.settings.messages[i.name]={}),r.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=r.message,s="string"==typeof s&&{url:s}||s,r.old===e)return r.valid;r.old=e;var n=this;this.startRequest(i);var a={};return a[i.name]=e,t.ajax(t.extend(!0,{url:s,mode:"abort",port:"validate"+i.name,dataType:"json",data:a,success:function(s){n.settings.messages[i.name].remote=r.originalMessage;var a=s===!0||"true"===s;if(a){var u=n.formSubmitted;n.prepareElement(i),n.formSubmitted=u,n.successList.push(i),delete n.invalid[i.name],n.showErrors()}else{var o={},l=s||n.defaultMessage(i,"remote");o[i.name]=r.message=t.isFunction(l)?l(e):l,n.invalid[i.name]=!0,n.showErrors(o)}r.valid=a,n.stopRequest(i,a)}},s)),"pending"}}}),t.format=t.validator.format})(jQuery),function(t){var e={};if(t.ajaxPrefilter)t.ajaxPrefilter(function(t,i,s){var r=t.port;"abort"===t.mode&&(e[r]&&e[r].abort(),e[r]=s)});else{var i=t.ajax;t.ajax=function(s){var r=("mode"in s?s:t.ajaxSettings).mode,n=("port"in s?s:t.ajaxSettings).port;return"abort"===r?(e[n]&&e[n].abort(),e[n]=i.apply(this,arguments),e[n]):i.apply(this,arguments)}}}(jQuery),function(t){t.extend(t.fn,{validateDelegate:function(e,i,s){return this.bind(i,function(i){var r=t(i.target);return r.is(e)?s.apply(r,arguments):void 0})}})}(jQuery); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_ar.js b/js/lib/jquery/plugins/validate/localization/messages_ar.js deleted file mode 100644 index 6df9495f53e..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_ar.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: AR (Arabic; العربية) - */ -(function ($) { - $.extend($.validator.messages, { - required: "هذا الحقل إلزامي", - remote: "يرجى تصحيح هذا الحقل للمتابعة", - email: "رجاء إدخال عنوان بريد إلكتروني صحيح", - url: "رجاء إدخال عنوان موقع إلكتروني صحيح", - date: "رجاء إدخال تاريخ صحيح", - dateISO: "رجاء إدخال تاريخ صحيح (ISO)", - number: "رجاء إدخال عدد بطريقة صحيحة", - digits: "رجاء إدخال أرقام فقط", - creditcard: "رجاء إدخال رقم بطاقة ائتمان صحيح", - equalTo: "رجاء إدخال نفس القيمة", - accept: "رجاء إدخال ملف بامتداد موافق عليه", - maxlength: $.validator.format("الحد الأقصى لعدد الحروف هو {0}"), - minlength: $.validator.format("الحد الأدنى لعدد الحروف هو {0}"), - rangelength: $.validator.format("عدد الحروف يجب أن يكون بين {0} و {1}"), - range: $.validator.format("رجاء إدخال عدد قيمته بين {0} و {1}"), - max: $.validator.format("رجاء إدخال عدد أقل من أو يساوي (0}"), - min: $.validator.format("رجاء إدخال عدد أكبر من أو يساوي (0}") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_bg.js b/js/lib/jquery/plugins/validate/localization/messages_bg.js deleted file mode 100644 index 10ba1d32295..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_bg.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: BG (Bulgarian; български език) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Полето е задължително.", - remote: "Моля, въведете правилната стойност.", - email: "Моля, въведете валиден email.", - url: "Моля, въведете валидно URL.", - date: "Моля, въведете валидна дата.", - dateISO: "Моля, въведете валидна дата (ISO).", - number: "Моля, въведете валиден номер.", - digits: "Моля, въведете само цифри", - creditcard: "Моля, въведете валиден номер на кредитна карта.", - equalTo: "Моля, въведете същата стойност отново.", - accept: "Моля, въведете стойност с валидно разширение.", - maxlength: $.validator.format("Моля, въведете повече от {0} символа."), - minlength: $.validator.format("Моля, въведете поне {0} символа."), - rangelength: $.validator.format("Моля, въведете стойност с дължина между {0} и {1} символа."), - range: $.validator.format("Моля, въведете стойност между {0} и {1}."), - max: $.validator.format("Моля, въведете стойност по-малка или равна на {0}."), - min: $.validator.format("Моля, въведете стойност по-голяма или равна на {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_ca.js b/js/lib/jquery/plugins/validate/localization/messages_ca.js deleted file mode 100644 index 940c37f5475..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_ca.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: CA (Catalan; català) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Aquest camp és obligatori.", - remote: "Si us plau, omple aquest camp.", - email: "Si us plau, escriu una adreça de correu-e vàlida", - url: "Si us plau, escriu una URL vàlida.", - date: "Si us plau, escriu una data vàlida.", - dateISO: "Si us plau, escriu una data (ISO) vàlida.", - number: "Si us plau, escriu un número enter vàlid.", - digits: "Si us plau, escriu només dígits.", - creditcard: "Si us plau, escriu un número de tarjeta vàlid.", - equalTo: "Si us plau, escriu el maateix valor de nou.", - accept: "Si us plau, escriu un valor amb una extensió acceptada.", - maxlength: $.validator.format("Si us plau, no escriguis més de {0} caracters."), - minlength: $.validator.format("Si us plau, no escriguis menys de {0} caracters."), - rangelength: $.validator.format("Si us plau, escriu un valor entre {0} i {1} caracters."), - range: $.validator.format("Si us plau, escriu un valor entre {0} i {1}."), - max: $.validator.format("Si us plau, escriu un valor menor o igual a {0}."), - min: $.validator.format("Si us plau, escriu un valor major o igual a {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_cs.js b/js/lib/jquery/plugins/validate/localization/messages_cs.js deleted file mode 100644 index 43cc3ad1b04..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_cs.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: CS (Czech; čeština, český jazyk) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Tento údaj je povinný.", - remote: "Prosím, opravte tento údaj.", - email: "Prosím, zadejte platný e-mail.", - url: "Prosím, zadejte platné URL.", - date: "Prosím, zadejte platné datum.", - dateISO: "Prosím, zadejte platné datum (ISO).", - number: "Prosím, zadejte číslo.", - digits: "Prosím, zadávejte pouze číslice.", - creditcard: "Prosím, zadejte číslo kreditní karty.", - equalTo: "Prosím, zadejte znovu stejnou hodnotu.", - accept: "Prosím, zadejte soubor se správnou příponou.", - maxlength: $.validator.format("Prosím, zadejte nejvíce {0} znaků."), - minlength: $.validator.format("Prosím, zadejte nejméně {0} znaků."), - rangelength: $.validator.format("Prosím, zadejte od {0} do {1} znaků."), - range: $.validator.format("Prosím, zadejte hodnotu od {0} do {1}."), - max: $.validator.format("Prosím, zadejte hodnotu menší nebo rovnu {0}."), - min: $.validator.format("Prosím, zadejte hodnotu větší nebo rovnu {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_da.js b/js/lib/jquery/plugins/validate/localization/messages_da.js deleted file mode 100644 index bcceb202e19..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_da.js +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: DA (Danish; dansk) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Dette felt er påkrævet.", - maxlength: $.validator.format("Indtast højst {0} tegn."), - minlength: $.validator.format("Indtast mindst {0} tegn."), - rangelength: $.validator.format("Indtast mindst {0} og højst {1} tegn."), - email: "Indtast en gyldig email-adresse.", - url: "Indtast en gyldig URL.", - date: "Indtast en gyldig dato.", - number: "Indtast et tal.", - digits: "Indtast kun cifre.", - equalTo: "Indtast den samme værdi igen.", - range: $.validator.format("Angiv en værdi mellem {0} og {1}."), - max: $.validator.format("Angiv en værdi der højst er {0}."), - min: $.validator.format("Angiv en værdi der mindst er {0}."), - creditcard: "Indtast et gyldigt kreditkortnummer." - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_de.js b/js/lib/jquery/plugins/validate/localization/messages_de.js deleted file mode 100644 index 073853e97b3..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_de.js +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: DE (German, Deutsch) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Dieses Feld ist ein Pflichtfeld.", - maxlength: $.validator.format("Geben Sie bitte maximal {0} Zeichen ein."), - minlength: $.validator.format("Geben Sie bitte mindestens {0} Zeichen ein."), - rangelength: $.validator.format("Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein."), - email: "Geben Sie bitte eine gültige E-Mail Adresse ein.", - url: "Geben Sie bitte eine gültige URL ein.", - date: "Bitte geben Sie ein gültiges Datum ein.", - number: "Geben Sie bitte eine Nummer ein.", - digits: "Geben Sie bitte nur Ziffern ein.", - equalTo: "Bitte denselben Wert wiederholen.", - range: $.validator.format("Geben Sie bitte einen Wert zwischen {0} und {1} ein."), - max: $.validator.format("Geben Sie bitte einen Wert kleiner oder gleich {0} ein."), - min: $.validator.format("Geben Sie bitte einen Wert größer oder gleich {0} ein."), - creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein." - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_el.js b/js/lib/jquery/plugins/validate/localization/messages_el.js deleted file mode 100644 index 6cd5a1de4ef..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_el.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: EL (Greek; ελληνικά) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Αυτό το πεδίο είναι υποχρεωτικό.", - remote: "Παρακαλώ διορθώστε αυτό το πεδίο.", - email: "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email.", - url: "Παρακαλώ εισάγετε ένα έγκυρο URL.", - date: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία.", - dateISO: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία (ISO).", - number: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό.", - digits: "Παρακαλώ εισάγετε μόνο αριθμητικά ψηφία.", - creditcard: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό πιστωτικής κάρτας.", - equalTo: "Παρακαλώ εισάγετε την ίδια τιμή ξανά.", - accept: "Παρακαλώ εισάγετε μια τιμή με έγκυρη επέκταση αρχείου.", - maxlength: $.validator.format("Παρακαλώ εισάγετε μέχρι και {0} χαρακτήρες."), - minlength: $.validator.format("Παρακαλώ εισάγετε τουλάχιστον {0} χαρακτήρες."), - rangelength: $.validator.format("Παρακαλώ εισάγετε μια τιμή με μήκος μεταξύ {0} και {1} χαρακτήρων."), - range: $.validator.format("Παρακαλώ εισάγετε μια τιμή μεταξύ {0} και {1}."), - max: $.validator.format("Παρακαλώ εισάγετε μια τιμή μικρότερη ή ίση του {0}."), - min: $.validator.format("Παρακαλώ εισάγετε μια τιμή μεγαλύτερη ή ίση του {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_es.js b/js/lib/jquery/plugins/validate/localization/messages_es.js deleted file mode 100644 index 3a30eee8f35..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_es.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: ES (Spanish; Español) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Este campo es obligatorio.", - remote: "Por favor, rellena este campo.", - email: "Por favor, escribe una dirección de correo válida", - url: "Por favor, escribe una URL válida.", - date: "Por favor, escribe una fecha válida.", - dateISO: "Por favor, escribe una fecha (ISO) válida.", - number: "Por favor, escribe un número entero válido.", - digits: "Por favor, escribe sólo dígitos.", - creditcard: "Por favor, escribe un número de tarjeta válido.", - equalTo: "Por favor, escribe el mismo valor de nuevo.", - accept: "Por favor, escribe un valor con una extensión aceptada.", - maxlength: $.validator.format("Por favor, no escribas más de {0} caracteres."), - minlength: $.validator.format("Por favor, no escribas menos de {0} caracteres."), - rangelength: $.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."), - range: $.validator.format("Por favor, escribe un valor entre {0} y {1}."), - max: $.validator.format("Por favor, escribe un valor menor o igual a {0}."), - min: $.validator.format("Por favor, escribe un valor mayor o igual a {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_et.js b/js/lib/jquery/plugins/validate/localization/messages_et.js deleted file mode 100644 index aaa26777f57..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_et.js +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: ET (Estonian; eesti, eesti keel) - */ -(function ($) { - $.extend($.validator.messages, { - required: "See väli peab olema täidetud.", - maxlength: $.validator.format("Palun sisestage vähem kui {0} tähemärki."), - minlength: $.validator.format("Palun sisestage vähemalt {0} tähemärki."), - rangelength: $.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1} tähemärki."), - email: "Palun sisestage korrektne e-maili aadress.", - url: "Palun sisestage korrektne URL.", - date: "Palun sisestage korrektne kuupäev.", - dateISO: "Palun sisestage korrektne kuupäev (YYYY-MM-DD).", - number: "Palun sisestage korrektne number.", - digits: "Palun sisestage ainult numbreid.", - equalTo: "Palun sisestage sama väärtus uuesti.", - range: $.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1}."), - max: $.validator.format("Palun sisestage väärtus, mis on väiksem või võrdne arvuga {0}."), - min: $.validator.format("Palun sisestage väärtus, mis on suurem või võrdne arvuga {0}."), - creditcard: "Palun sisestage korrektne krediitkaardi number." - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_eu.js b/js/lib/jquery/plugins/validate/localization/messages_eu.js deleted file mode 100644 index 8f02f1b229e..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_eu.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: EU (Basque; euskara, euskera) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Eremu hau beharrezkoa da.", - remote: "Mesedez, bete eremu hau.", - email: "Mesedez, idatzi baliozko posta helbide bat.", - url: "Mesedez, idatzi baliozko URL bat.", - date: "Mesedez, idatzi baliozko data bat.", - dateISO: "Mesedez, idatzi baliozko (ISO) data bat.", - number: "Mesedez, idatzi baliozko zenbaki oso bat.", - digits: "Mesedez, idatzi digituak soilik.", - creditcard: "Mesedez, idatzi baliozko txartel zenbaki bat.", - equalTo: "Mesedez, idatzi berdina berriro ere.", - accept: "Mesedez, idatzi onartutako luzapena duen balio bat.", - maxlength: $.validator.format("Mesedez, ez idatzi {0} karaktere baino gehiago."), - minlength: $.validator.format("Mesedez, ez idatzi {0} karaktere baino gutxiago."), - rangelength: $.validator.format("Mesedez, idatzi {0} eta {1} karaktere arteko balio bat."), - range: $.validator.format("Mesedez, idatzi {0} eta {1} arteko balio bat."), - max: $.validator.format("Mesedez, idatzi {0} edo txikiagoa den balio bat."), - min: $.validator.format("Mesedez, idatzi {0} edo handiagoa den balio bat.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_fa.js b/js/lib/jquery/plugins/validate/localization/messages_fa.js deleted file mode 100644 index 38163525cb9..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_fa.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: FA (Persian; فارسی) - */ -(function ($) { - $.extend($.validator.messages, { - required: "تکمیل این فیلد اجباری است.", - remote: "لطفا این فیلد را تصحیح کنید.", - email: ".لطفا یک ایمیل صحیح وارد کنید", - url: "لطفا آدرس صحیح وارد کنید.", - date: "لطفا یک تاریخ صحیح وارد کنید", - dateISO: "لطفا تاریخ صحیح وارد کنید (ISO).", - number: "لطفا عدد صحیح وارد کنید.", - digits: "لطفا تنها رقم وارد کنید", - creditcard: "لطفا کریدیت کارت صحیح وارد کنید.", - equalTo: "لطفا مقدار برابری وارد کنید", - accept: "لطفا مقداری وارد کنید که ", - maxlength: $.validator.format("لطفا بیشتر از {0} حرف وارد نکنید."), - minlength: $.validator.format("لطفا کمتر از {0} حرف وارد نکنید."), - rangelength: $.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."), - range: $.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."), - max: $.validator.format("لطفا مقداری کمتر از {0} حرف وارد کنید."), - min: $.validator.format("لطفا مقداری بیشتر از {0} حرف وارد کنید.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_fi.js b/js/lib/jquery/plugins/validate/localization/messages_fi.js deleted file mode 100644 index a1fc03c5b98..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_fi.js +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: FI (Finnish; suomi, suomen kieli) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Tämä kenttä on pakollinen.", - email: "Syötä oikea sähköpostiosoite.", - url: "Syötä oikea URL osoite.", - date: "Syötä oike päivämäärä.", - dateISO: "Syötä oike päivämäärä (VVVV-MM-DD).", - number: "Syötä numero.", - creditcard: "Syötä voimassa oleva luottokorttinumero.", - digits: "Syötä pelkästään numeroita.", - equalTo: "Syötä sama arvo uudestaan.", - maxlength: $.validator.format("Voit syöttää enintään {0} merkkiä."), - minlength: $.validator.format("Vähintään {0} merkkiä."), - rangelength: $.validator.format("Syötä vähintään {0} ja enintään {1} merkkiä."), - range: $.validator.format("Syötä arvo {0} ja {1} väliltä."), - max: $.validator.format("Syötä arvo joka on pienempi tai yhtä suuri kuin {0}."), - min: $.validator.format("Syötä arvo joka on yhtä suuri tai suurempi kuin {0}.") - }); -}(jQuery)); diff --git a/js/lib/jquery/plugins/validate/localization/messages_fr.js b/js/lib/jquery/plugins/validate/localization/messages_fr.js deleted file mode 100644 index c976ff460e6..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_fr.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: FR (French; français) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Ce champ est obligatoire.", - remote: "Veuillez corriger ce champ.", - email: "Veuillez fournir une adresse électronique valide.", - url: "Veuillez fournir une adresse URL valide.", - date: "Veuillez fournir une date valide.", - dateISO: "Veuillez fournir une date valide (ISO).", - number: "Veuillez fournir un numéro valide.", - digits: "Veuillez fournir seulement des chiffres.", - creditcard: "Veuillez fournir un numéro de carte de crédit valide.", - equalTo: "Veuillez fournir encore la même valeur.", - accept: "Veuillez fournir une valeur avec une extension valide.", - maxlength: $.validator.format("Veuillez fournir au plus {0} caractères."), - minlength: $.validator.format("Veuillez fournir au moins {0} caractères."), - rangelength: $.validator.format("Veuillez fournir une valeur qui contient entre {0} et {1} caractères."), - range: $.validator.format("Veuillez fournir une valeur entre {0} et {1}."), - max: $.validator.format("Veuillez fournir une valeur inférieur ou égal à {0}."), - min: $.validator.format("Veuillez fournir une valeur supérieur ou égal à {0}."), - maxWords: $.validator.format("Veuillez fournir au plus {0} mots."), - minWords: $.validator.format("Veuillez fournir au moins {0} mots."), - rangeWords: $.validator.format("Veuillez fournir entre {0} et {1} mots."), - letterswithbasicpunc: "Veuillez fournir seulement des lettres et des signes de ponctuation.", - alphanumeric: "Veuillez fournir seulement des lettres, nombres, espaces et soulignages", - lettersonly: "Veuillez fournir seulement des lettres.", - nowhitespace: "Veuillez ne pas inscrire d'espaces blancs.", - ziprange: "Veuillez fournir un code postal entre 902xx-xxxx et 905-xx-xxxx.", - integer: "Veuillez fournir un nombre non décimal qui est positif ou négatif.", - vinUS: "Veuillez fournir un numéro d'identification du véhicule (VIN).", - dateITA: "Veuillez fournir une date valide.", - time: "Veuillez fournir une heure valide entre 00:00 et 23:59.", - phoneUS: "Veuillez fournir un numéro de téléphone valide.", - phoneUK: "Veuillez fournir un numéro de téléphone valide.", - mobileUK: "Veuillez fournir un numéro de téléphone mobile valide.", - strippedminlength: $.validator.format("Veuillez fournir au moins {0} caractères."), - email2: "Veuillez fournir une adresse électronique valide.", - url2: "Veuillez fournir une adresse URL valide.", - creditcardtypes: "Veuillez fournir un numéro de carte de crédit valide.", - ipv4: "Veuillez fournir une adresse IP v4 valide.", - ipv6: "Veuillez fournir une adresse IP v6 valide.", - require_from_group: "Veuillez fournir au moins {0} de ces champs." - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_he.js b/js/lib/jquery/plugins/validate/localization/messages_he.js deleted file mode 100644 index 373feee7fcc..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_he.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: HE (Hebrew; עברית) - */ -(function ($) { - $.extend($.validator.messages, { - required: "השדה הזה הינו שדה חובה", - remote: "נא לתקן שדה זה", - email: "נא למלא כתובת דוא\"ל חוקית", - url: "נא למלא כתובת אינטרנט חוקית", - date: "נא למלא תאריך חוקי", - dateISO: "נא למלא תאריך חוקי (ISO)", - number: "נא למלא מספר", - digits: "נא למלא רק מספרים", - creditcard: "נא למלא מספר כרטיס אשראי חוקי", - equalTo: "נא למלא את אותו ערך שוב", - accept: "נא למלא ערך עם סיומת חוקית", - maxlength: $.validator.format(".נא לא למלא יותר מ- {0} תווים"), - minlength: $.validator.format("נא למלא לפחות {0} תווים"), - rangelength: $.validator.format("נא למלא ערך בין {0} ל- {1} תווים"), - range: $.validator.format("נא למלא ערך בין {0} ל- {1}"), - max: $.validator.format("נא למלא ערך קטן או שווה ל- {0}"), - min: $.validator.format("נא למלא ערך גדול או שווה ל- {0}") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_hr.js b/js/lib/jquery/plugins/validate/localization/messages_hr.js deleted file mode 100644 index 895ae2dca97..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_hr.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: HR (Croatia; hrvatski jezik) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Ovo polje je obavezno.", - remote: "Ovo polje treba popraviti.", - email: "Unesite ispravnu e-mail adresu.", - url: "Unesite ispravan URL.", - date: "Unesite ispravan datum.", - dateISO: "Unesite ispravan datum (ISO).", - number: "Unesite ispravan broj.", - digits: "Unesite samo brojeve.", - creditcard: "Unesite ispravan broj kreditne kartice.", - equalTo: "Unesite ponovo istu vrijednost.", - accept: "Unesite vrijednost sa ispravnom ekstenzijom.", - maxlength: $.validator.format("Maksimalni broj znakova je {0} ."), - minlength: $.validator.format("Minimalni broj znakova je {0} ."), - rangelength: $.validator.format("Unesite vrijednost između {0} i {1} znakova."), - range: $.validator.format("Unesite vrijednost između {0} i {1}."), - max: $.validator.format("Unesite vrijednost manju ili jednaku {0}."), - min: $.validator.format("Unesite vrijednost veću ili jednaku {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_hu.js b/js/lib/jquery/plugins/validate/localization/messages_hu.js deleted file mode 100644 index cd73fc3eefe..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_hu.js +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: HU (Hungarian; Magyar) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Kötelező megadni.", - maxlength: $.validator.format("Legfeljebb {0} karakter hosszú legyen."), - minlength: $.validator.format("Legalább {0} karakter hosszú legyen."), - rangelength: $.validator.format("Legalább {0} és legfeljebb {1} karakter hosszú legyen."), - email: "Érvényes e-mail címnek kell lennie.", - url: "Érvényes URL-nek kell lennie.", - date: "Dátumnak kell lennie.", - number: "Számnak kell lennie.", - digits: "Csak számjegyek lehetnek.", - equalTo: "Meg kell egyeznie a két értéknek.", - range: $.validator.format("{0} és {1} közé kell esnie."), - max: $.validator.format("Nem lehet nagyobb, mint {0}."), - min: $.validator.format("Nem lehet kisebb, mint {0}."), - creditcard: "Érvényes hitelkártyaszámnak kell lennie.", - remote: "Kérem javítsa ki ezt a mezőt.", - dateISO: "Kérem írjon be egy érvényes dátumot (ISO)." - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_it.js b/js/lib/jquery/plugins/validate/localization/messages_it.js deleted file mode 100644 index 19323b0f560..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_it.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: IT (Italian; Italiano) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Campo obbligatorio.", - remote: "Controlla questo campo.", - email: "Inserisci un indirizzo email valido.", - url: "Inserisci un indirizzo web valido.", - date: "Inserisci una data valida.", - dateISO: "Inserisci una data valida (ISO).", - number: "Inserisci un numero valido.", - digits: "Inserisci solo numeri.", - creditcard: "Inserisci un numero di carta di credito valido.", - equalTo: "Il valore non corrisponde.", - accept: "Inserisci un valore con un'estensione valida.", - maxlength: $.validator.format("Non inserire più di {0} caratteri."), - minlength: $.validator.format("Inserisci almeno {0} caratteri."), - rangelength: $.validator.format("Inserisci un valore compreso tra {0} e {1} caratteri."), - range: $.validator.format("Inserisci un valore compreso tra {0} e {1}."), - max: $.validator.format("Inserisci un valore minore o uguale a {0}."), - min: $.validator.format("Inserisci un valore maggiore o uguale a {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_ja.js b/js/lib/jquery/plugins/validate/localization/messages_ja.js deleted file mode 100644 index cb060c9c129..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_ja.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: JA (Japanese; 日本語) - */ -(function ($) { - $.extend($.validator.messages, { - required: "このフィールドは必須です。", - remote: "このフィールドを修正してください。", - email: "有効なEメールアドレスを入力してください。", - url: "有効なURLを入力してください。", - date: "有効な日付を入力してください。", - dateISO: "有効な日付(ISO)を入力してください。", - number: "有効な数字を入力してください。", - digits: "数字のみを入力してください。", - creditcard: "有効なクレジットカード番号を入力してください。", - equalTo: "同じ値をもう一度入力してください。", - accept: "有効な拡張子を含む値を入力してください。", - maxlength: $.format("{0} 文字以内で入力してください。"), - minlength: $.format("{0} 文字以上で入力してください。"), - rangelength: $.format("{0} 文字から {1} 文字までの値を入力してください。"), - range: $.format("{0} から {1} までの値を入力してください。"), - max: $.format("{0} 以下の値を入力してください。"), - min: $.format("{0} 以上の値を入力してください。") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_ka.js b/js/lib/jquery/plugins/validate/localization/messages_ka.js deleted file mode 100644 index 319363e4df3..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_ka.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: KA (Georgian; ქართული) - */ -(function ($) { - $.extend($.validator.messages, { - required: "ამ ველის შევსება აუცილებელია.", - remote: "გთხოვთ მიუთითოთ სწორი მნიშვნელობა.", - email: "გთხოვთ მიუთითოთ ელ-ფოსტის კორექტული მისამართი.", - url: "გთხოვთ მიუთითოთ კორექტული URL.", - date: "გთხოვთ მიუთითოთ კორექტული თარიღი.", - dateISO: "გთხოვთ მიუთითოთ კორექტული თარიღი ISO ფორმატში.", - number: "გთხოვთ მიუთითოთ ციფრი.", - digits: "გთხოვთ მიუთითოთ მხოლოდ ციფრები.", - creditcard: "გთხოვთ მიუთითოთ საკრედიტო ბარათის კორექტული ნომერი.", - equalTo: "გთხოვთ მიუთითოთ ასეთივე მნიშვნელობა კიდევ ერთხელ.", - accept: "გთხოვთ აირჩიოთ ფაილი კორექტული გაფართოებით.", - maxlength: $.validator.format("დასაშვებია არაუმეტეს {0} სიმბოლო."), - minlength: $.validator.format("აუცილებელია შეიყვანოთ მინიმუმ {0} სიმბოლო."), - rangelength: $.validator.format("ტექსტში სიმბოლოების რაოდენობა უნდა იყოს {0}-დან {1}-მდე."), - range: $.validator.format("გთხოვთ შეიყვანოთ ციფრი {0}-დან {1}-მდე."), - max: $.validator.format("გთხოვთ შეიყვანოთ ციფრი რომელიც ნაკლებია ან უდრის {0}-ს."), - min: $.validator.format("გთხოვთ შეიყვანოთ ციფრი რომელიც მეტია ან უდრის {0}-ს.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_kk.js b/js/lib/jquery/plugins/validate/localization/messages_kk.js deleted file mode 100644 index dd9276fb5c1..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_kk.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: KK (Kazakh; қазақ тілі) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Бұл өрісті міндетті түрде толтырыңыз.", - remote: "Дұрыс мағына енгізуіңізді сұраймыз.", - email: "Нақты электронды поштаңызды енгізуіңізді сұраймыз.", - url: "Нақты URL-ды енгізуіңізді сұраймыз.", - date: "Нақты URL-ды енгізуіңізді сұраймыз.", - dateISO: "Нақты ISO форматымен сәйкес датасын енгізуіңізді сұраймыз.", - number: "Күнді енгізуіңізді сұраймыз.", - digits: "Тек қана сандарды енгізуіңізді сұраймыз.", - creditcard: "Несие картасының нөмірін дұрыс енгізуіңізді сұраймыз.", - equalTo: "Осы мәнді қайта енгізуіңізді сұраймыз.", - accept: "Файлдың кеңейтуін дұрыс таңдаңыз.", - maxlength: $.format("Ұзындығы {0} символдан көр болмасын."), - minlength: $.format("Ұзындығы {0} символдан аз болмасын."), - rangelength: $.format("Ұзындығы {0}-{1} дейін мән енгізуіңізді сұраймыз."), - range: $.format("Пожалуйста, введите число от {0} до {1}. - {0} - {1} санын енгізуіңізді сұраймыз."), - max: $.format("{0} аз немесе тең санын енгізуіңіді сұраймыз."), - min: $.format("{0} көп немесе тең санын енгізуіңізді сұраймыз.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_ko.js b/js/lib/jquery/plugins/validate/localization/messages_ko.js deleted file mode 100644 index 1e6bba91669..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_ko.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: KO (Korean; 한국어) - */ -(function ($) { - $.extend($.validator.messages, { - required: "필수 항목입니다.", - remote: "항목을 수정하세요.", - email: "유효하지 않은 E-Mail주소입니다.", - url: "유효하지 않은 주소입니다.", - date: "옳바른 날짜를 입력하세요.", - dateISO: "옳바른 날짜(ISO)를 입력하세요.", - number: "유효한 숫자가 아닙니다.", - digits: "숫자만 입력 가능합니다.", - creditcard: "신용카드번호가 바르지 않습니다.", - equalTo: "같은값을 다시 입력하세요.", - accept: "옳바른 확장자가 아닙니다.", - maxlength: $.format("{0}자를 넘을 수 없습니다. "), - minlength: $.format("{0}자 이하로 입력하세요."), - rangelength: $.format("문자 길이를 {0} 에서 {1} 사이의로 입력하세요."), - range: $.format("{0} 에서 {1} 값을 입력하세요."), - max: $.format("{0} 이하의 값을 입력하세요."), - min: $.format("{0} 이상의 값을 입력하세요.") - }); -}(jQuery)); diff --git a/js/lib/jquery/plugins/validate/localization/messages_lt.js b/js/lib/jquery/plugins/validate/localization/messages_lt.js deleted file mode 100644 index 856aaeb8b1a..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_lt.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: LT (Lithuanian; lietuvių kalba) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Šis laukas yra privalomas.", - remote: "Prašau pataisyti šį lauką.", - email: "Prašau įvesti teisingą elektroninio pašto adresą.", - url: "Prašau įvesti teisingą URL.", - date: "Prašau įvesti teisingą datą.", - dateISO: "Prašau įvesti teisingą datą (ISO).", - number: "Prašau įvesti teisingą skaičių.", - digits: "Prašau naudoti tik skaitmenis.", - creditcard: "Prašau įvesti teisingą kreditinės kortelės numerį.", - equalTo: "Prašau įvestį tą pačią reikšmę dar kartą.", - accept: "Prašau įvesti reikšmę su teisingu plėtiniu.", - maxlength: $.format("Prašau įvesti ne daugiau kaip {0} simbolių."), - minlength: $.format("Prašau įvesti bent {0} simbolius."), - rangelength: $.format("Prašau įvesti reikšmes, kurių ilgis nuo {0} iki {1} simbolių."), - range: $.format("Prašau įvesti reikšmę intervale nuo {0} iki {1}."), - max: $.format("Prašau įvesti reikšmę mažesnę arba lygią {0}."), - min: $.format("Prašau įvesti reikšmę didesnę arba lygią {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_lv.js b/js/lib/jquery/plugins/validate/localization/messages_lv.js deleted file mode 100644 index 959a9759c2e..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_lv.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: LV (Latvian; latviešu valoda) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Šis lauks ir obligāts.", - remote: "Lūdzu, pārbaudiet šo lauku.", - email: "Lūdzu, ievadiet derīgu e-pasta adresi.", - url: "Lūdzu, ievadiet derīgu URL adresi.", - date: "Lūdzu, ievadiet derīgu datumu.", - dateISO: "Lūdzu, ievadiet derīgu datumu (ISO).", - number: "Lūdzu, ievadiet derīgu numuru.", - digits: "Lūdzu, ievadiet tikai ciparus.", - creditcard: "Lūdzu, ievadiet derīgu kredītkartes numuru.", - equalTo: "Lūdzu, ievadiet to pašu vēlreiz.", - accept: "Lūdzu, ievadiet vērtību ar derīgu paplašinājumu.", - maxlength: $.validator.format("Lūdzu, ievadiet ne vairāk kā {0} rakstzīmes."), - minlength: $.validator.format("Lūdzu, ievadiet vismaz {0} rakstzīmes."), - rangelength: $.validator.format("Lūdzu ievadiet {0} līdz {1} rakstzīmes."), - range: $.validator.format("Lūdzu, ievadiet skaitli no {0} līdz {1}."), - max: $.validator.format("Lūdzu, ievadiet skaitli, kurš ir mazāks vai vienāds ar {0}."), - min: $.validator.format("Lūdzu, ievadiet skaitli, kurš ir lielāks vai vienāds ar {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_my.js b/js/lib/jquery/plugins/validate/localization/messages_my.js deleted file mode 100644 index 95fe7270f73..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_my.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: MY (Malay; Melayu) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Medan ini diperlukan.", - remote: "Sila betulkan medan ini.", - email: "Sila masukkan alamat emel yang betul.", - url: "Sila masukkan URL yang betul.", - date: "Sila masukkan tarikh yang betul.", - dateISO: "Sila masukkan tarikh(ISO) yang betul.", - number: "Sila masukkan nombor yang betul.", - digits: "Sila masukkan nilai digit sahaja.", - creditcard: "Sila masukkan nombor kredit kad yang betul.", - equalTo: "Sila masukkan nilai yang sama semula.", - accept: "Sila masukkan nilai yang telah diterima.", - maxlength: $.validator.format("Sila masukkan nilai tidak lebih dari {0} aksara."), - minlength: $.validator.format("Sila masukkan nilai sekurang-kurangnya {0} aksara."), - rangelength: $.validator.format("Sila masukkan panjang nilai antara {0} dan {1} aksara."), - range: $.validator.format("Sila masukkan nilai antara {0} dan {1} aksara."), - max: $.validator.format("Sila masukkan nilai yang kurang atau sama dengan {0}."), - min: $.validator.format("Sila masukkan nilai yang lebih atau sama dengan {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_nl.js b/js/lib/jquery/plugins/validate/localization/messages_nl.js deleted file mode 100644 index 39f335d7a4d..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_nl.js +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: NL (Dutch; Nederlands, Vlaams) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Dit is een verplicht veld.", - remote: "Controleer dit veld.", - email: "Vul hier een geldig e-mailadres in.", - url: "Vul hier een geldige URL in.", - date: "Vul hier een geldige datum in.", - dateISO: "Vul hier een geldige datum in (ISO-formaat).", - number: "Vul hier een geldig getal in.", - digits: "Vul hier alleen getallen in.", - creditcard: "Vul hier een geldig creditcardnummer in.", - equalTo: "Vul hier dezelfde waarde in.", - accept: "Vul hier een waarde in met een geldige extensie.", - maxlength: $.validator.format("Vul hier maximaal {0} tekens in."), - minlength: $.validator.format("Vul hier minimaal {0} tekens in."), - rangelength: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1} tekens."), - range: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1}."), - max: $.validator.format("Vul hier een waarde in kleiner dan of gelijk aan {0}."), - min: $.validator.format("Vul hier een waarde in groter dan of gelijk aan {0}."), - - // for validations in additional-methods.js - iban: "Vul hier een geldig IBAN in.", - dateNL: "Vul hier een geldige datum in.", - phoneNL: "Vul hier een geldig Nederlands telefoonnummer in.", - mobileNL: "Vul hier een geldig Nederlands mobiel telefoonnummer in.", - postalcodeNL: "Vul hier een geldige postcode in.", - bankaccountNL: "Vul hier een geldig bankrekeningnummer in.", - giroaccountNL: "Vul hier een geldig gironummer in.", - bankorgiroaccountNL: "Vul hier een geldig bank- of gironummer in." - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_no.js b/js/lib/jquery/plugins/validate/localization/messages_no.js deleted file mode 100644 index 9ba6d2f5b5d..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_no.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: NO (Norwegian; Norsk) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Dette feltet er obligatorisk.", - maxlength: $.validator.format("Maksimalt {0} tegn."), - minlength: $.validator.format("Minimum {0} tegn."), - rangelength: $.validator.format("Angi minimum {0} og maksimum {1} tegn."), - email: "Oppgi en gyldig epostadresse.", - url: "Angi en gyldig URL.", - date: "Angi en gyldig dato.", - dateISO: "Angi en gyldig dato (&ARING;&ARING;&ARING;&ARING;-MM-DD).", - dateSE: "Angi en gyldig dato.", - number: "Angi et gyldig nummer.", - numberSE: "Angi et gyldig nummer.", - digits: "Skriv kun tall.", - equalTo: "Skriv samme verdi igjen.", - range: $.validator.format("Angi en verdi mellom {0} og {1}."), - max: $.validator.format("Angi en verdi som er mindre eller lik {0}."), - min: $.validator.format("Angi en verdi som er større eller lik {0}."), - creditcard: "Angi et gyldig kredittkortnummer." - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_pl.js b/js/lib/jquery/plugins/validate/localization/messages_pl.js deleted file mode 100644 index fcf2f6df867..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_pl.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: PL (Polish; język polski, polszczyzna) - */ -(function ($) { - $.extend($.validator.messages, { - required: "To pole jest wymagane.", - remote: "Proszę o wypełnienie tego pola.", - email: "Proszę o podanie prawidłowego adresu email.", - url: "Proszę o podanie prawidłowego URL.", - date: "Proszę o podanie prawidłowej daty.", - dateISO: "Proszę o podanie prawidłowej daty (ISO).", - number: "Proszę o podanie prawidłowej liczby.", - digits: "Proszę o podanie samych cyfr.", - creditcard: "Proszę o podanie prawidłowej karty kredytowej.", - equalTo: "Proszę o podanie tej samej wartości ponownie.", - accept: "Proszę o podanie wartości z prawidłowym rozszerzeniem.", - maxlength: $.validator.format("Proszę o podanie nie więcej niż {0} znaków."), - minlength: $.validator.format("Proszę o podanie przynajmniej {0} znaków."), - rangelength: $.validator.format("Proszę o podanie wartości o długości od {0} do {1} znaków."), - range: $.validator.format("Proszę o podanie wartości z przedziału od {0} do {1}."), - max: $.validator.format("Proszę o podanie wartości mniejszej bądź równej {0}."), - min: $.validator.format("Proszę o podanie wartości większej bądź równej {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_pt_BR.js b/js/lib/jquery/plugins/validate/localization/messages_pt_BR.js deleted file mode 100644 index dd9434802c3..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_pt_BR.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: PT (Portuguese; português) - * Region: BR (Brazil) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Este campo é requerido.", - remote: "Por favor, corrija este campo.", - email: "Por favor, forneça um endereço eletrônico válido.", - url: "Por favor, forneça uma URL válida.", - date: "Por favor, forneça uma data válida.", - dateISO: "Por favor, forneça uma data válida (ISO).", - number: "Por favor, forneça um número válido.", - digits: "Por favor, forneça somente dígitos.", - creditcard: "Por favor, forneça um cartão de crédito válido.", - equalTo: "Por favor, forneça o mesmo valor novamente.", - accept: "Por favor, forneça um valor com uma extensão válida.", - maxlength: $.validator.format("Por favor, forneça não mais que {0} caracteres."), - minlength: $.validator.format("Por favor, forneça ao menos {0} caracteres."), - rangelength: $.validator.format("Por favor, forneça um valor entre {0} e {1} caracteres de comprimento."), - range: $.validator.format("Por favor, forneça um valor entre {0} e {1}."), - max: $.validator.format("Por favor, forneça um valor menor ou igual a {0}."), - min: $.validator.format("Por favor, forneça um valor maior ou igual a {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_pt_PT.js b/js/lib/jquery/plugins/validate/localization/messages_pt_PT.js deleted file mode 100644 index 41b239e3345..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_pt_PT.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: PT (Portuguese; português) - * Region: PT (Portugal) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Campo de preenchimento obrigatório.", - remote: "Por favor, corrija este campo.", - email: "Por favor, introduza um endereço eletrónico válido.", - url: "Por favor, introduza um URL válido.", - date: "Por favor, introduza uma data válida.", - dateISO: "Por favor, introduza uma data válida (ISO).", - number: "Por favor, introduza um número válido.", - digits: "Por favor, introduza apenas dígitos.", - creditcard: "Por favor, introduza um número de cartão de crédito válido.", - equalTo: "Por favor, introduza de novo o mesmo valor.", - accept: "Por favor, introduza um ficheiro com uma extensão válida.", - maxlength: $.validator.format("Por favor, não introduza mais do que {0} caracteres."), - minlength: $.validator.format("Por favor, introduza pelo menos {0} caracteres."), - rangelength: $.validator.format("Por favor, introduza entre {0} e {1} caracteres."), - range: $.validator.format("Por favor, introduza um valor entre {0} e {1}."), - max: $.validator.format("Por favor, introduza um valor menor ou igual a {0}."), - min: $.validator.format("Por favor, introduza um valor maior ou igual a {0}.") - }); -}(jQuery)); diff --git a/js/lib/jquery/plugins/validate/localization/messages_ro.js b/js/lib/jquery/plugins/validate/localization/messages_ro.js deleted file mode 100644 index 6286f80f767..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_ro.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: RO (Romanian, limba română) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Acest câmp este obligatoriu.", - remote: "Te rugăm să completezi acest câmp.", - email: "Te rugăm să introduci o adresă de email validă", - url: "Te rugăm sa introduci o adresă URL validă.", - date: "Te rugăm să introduci o dată corectă.", - dateISO: "Te rugăm să introduci o dată (ISO) corectă.", - number: "Te rugăm să introduci un număr întreg valid.", - digits: "Te rugăm să introduci doar cifre.", - creditcard: "Te rugăm să introduci un numar de carte de credit valid.", - equalTo: "Te rugăm să reintroduci valoarea.", - accept: "Te rugăm să introduci o valoare cu o extensie validă.", - maxlength: $.validator.format("Te rugăm să nu introduci mai mult de {0} caractere."), - minlength: $.validator.format("Te rugăm să introduci cel puțin {0} caractere."), - rangelength: $.validator.format("Te rugăm să introduci o valoare între {0} și {1} caractere."), - range: $.validator.format("Te rugăm să introduci o valoare între {0} și {1}."), - max: $.validator.format("Te rugăm să introduci o valoare egal sau mai mică decât {0}."), - min: $.validator.format("Te rugăm să introduci o valoare egal sau mai mare decât {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_ru.js b/js/lib/jquery/plugins/validate/localization/messages_ru.js deleted file mode 100644 index 46dc78168e3..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_ru.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: RU (Russian; русский язык) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Это поле необходимо заполнить.", - remote: "Пожалуйста, введите правильное значение.", - email: "Пожалуйста, введите корректный адрес электронной почты.", - url: "Пожалуйста, введите корректный URL.", - date: "Пожалуйста, введите корректную дату.", - dateISO: "Пожалуйста, введите корректную дату в формате ISO.", - number: "Пожалуйста, введите число.", - digits: "Пожалуйста, вводите только цифры.", - creditcard: "Пожалуйста, введите правильный номер кредитной карты.", - equalTo: "Пожалуйста, введите такое же значение ещё раз.", - accept: "Пожалуйста, выберите файл с правильным расширением.", - maxlength: $.validator.format("Пожалуйста, введите не больше {0} символов."), - minlength: $.validator.format("Пожалуйста, введите не меньше {0} символов."), - rangelength: $.validator.format("Пожалуйста, введите значение длиной от {0} до {1} символов."), - range: $.validator.format("Пожалуйста, введите число от {0} до {1}."), - max: $.validator.format("Пожалуйста, введите число, меньшее или равное {0}."), - min: $.validator.format("Пожалуйста, введите число, большее или равное {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_si.js b/js/lib/jquery/plugins/validate/localization/messages_si.js deleted file mode 100644 index 0c280e80db9..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_si.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: SI (Slovenian) - */ -(function ($) { - $.extend($.validator.messages, { - required: "To polje je obvezno.", - remote: "Vpis v tem polju ni v pravi obliki.", - email: "Prosimo, vnesite pravi email naslov.", - url: "Prosimo, vnesite pravi URL.", - date: "Prosimo, vnesite pravi datum.", - dateISO: "Prosimo, vnesite pravi datum (ISO).", - number: "Prosimo, vnesite pravo številko.", - digits: "Prosimo, vnesite samo številke.", - creditcard: "Prosimo, vnesite pravo številko kreditne kartice.", - equalTo: "Prosimo, ponovno vnesite enako vsebino.", - accept: "Prosimo, vnesite vsebino z pravo končnico.", - maxlength: $.validator.format("Prosimo, da ne vnašate več kot {0} znakov."), - minlength: $.validator.format("Prosimo, vnesite vsaj {0} znakov."), - rangelength: $.validator.format("Prosimo, vnesite od {0} do {1} znakov."), - range: $.validator.format("Prosimo, vnesite vrednost med {0} in {1}."), - max: $.validator.format("Prosimo, vnesite vrednost manjšo ali enako {0}."), - min: $.validator.format("Prosimo, vnesite vrednost večjo ali enako {0}.") - }); -}(jQuery)); diff --git a/js/lib/jquery/plugins/validate/localization/messages_sk.js b/js/lib/jquery/plugins/validate/localization/messages_sk.js deleted file mode 100644 index bc6340abfcd..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_sk.js +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: SK (Slovak; slovenčina, slovenský jazyk) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Povinné zadať.", - maxlength: $.validator.format("Maximálne {0} znakov."), - minlength: $.validator.format("Minimálne {0} znakov."), - rangelength: $.validator.format("Minimálne {0} a Maximálne {0} znakov."), - email: "E-mailová adresa musí byť platná.", - url: "URL musí byť platný.", - date: "Musí byť dátum.", - number: "Musí byť číslo.", - digits: "Môže obsahovať iba číslice.", - equalTo: "Dva hodnoty sa musia rovnať.", - range: $.validator.format("Musí byť medzi {0} a {1}."), - max: $.validator.format("Nemôže byť viac ako{0}."), - min: $.validator.format("Nemôže byť menej ako{0}."), - creditcard: "Číslo platobnej karty musí byť platné." - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_sl.js b/js/lib/jquery/plugins/validate/localization/messages_sl.js deleted file mode 100644 index fa53d6d721c..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_sl.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Language: SL (Slovenian; slovenski jezik) - */ -(function ($) { - $.extend($.validator.messages, { - required: "To polje je obvezno.", - remote: "Prosimo popravite to polje.", - email: "Prosimo vnesite veljaven email naslov.", - url: "Prosimo vnesite veljaven URL naslov.", - date: "Prosimo vnesite veljaven datum.", - dateISO: "Prosimo vnesite veljaven ISO datum.", - number: "Prosimo vnesite veljavno število.", - digits: "Prosimo vnesite samo števila.", - creditcard: "Prosimo vnesite veljavno številko kreditne kartice.", - equalTo: "Prosimo ponovno vnesite vrednost.", - accept: "Prosimo vnesite vrednost z veljavno končnico.", - maxlength: $.validator.format("Prosimo vnesite največ {0} znakov."), - minlength: $.validator.format("Prosimo vnesite najmanj {0} znakov."), - rangelength: $.validator.format("Prosimo vnesite najmanj {0} in največ {1} znakov."), - range: $.validator.format("Prosimo vnesite vrednost med {0} in {1}."), - max: $.validator.format("Prosimo vnesite vrednost manjše ali enako {0}."), - min: $.validator.format("Prosimo vnesite vrednost večje ali enako {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_sr.js b/js/lib/jquery/plugins/validate/localization/messages_sr.js deleted file mode 100644 index 73b5ec7ae1a..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_sr.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: SR (Serbian; српски језик) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Поље је обавезно.", - remote: "Средите ово поље.", - email: "Унесите исправну и-мејл адресу", - url: "Унесите исправан URL.", - date: "Унесите исправан датум.", - dateISO: "Унесите исправан датум (ISO).", - number: "Унесите исправан број.", - digits: "Унесите само цифе.", - creditcard: "Унесите исправан број кредитне картице.", - equalTo: "Унесите исту вредност поново.", - accept: "Унесите вредност са одговарајућом екстензијом.", - maxlength: $.validator.format("Унесите мање од {0}карактера."), - minlength: $.validator.format("Унесите барем {0} карактера."), - rangelength: $.validator.format("Унесите вредност дугачку између {0} и {1} карактера."), - range: $.validator.format("Унесите вредност између {0} и {1}."), - max: $.validator.format("Унесите вредност мању или једнаку {0}."), - min: $.validator.format("Унесите вредност већу или једнаку {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_sv.js b/js/lib/jquery/plugins/validate/localization/messages_sv.js deleted file mode 100644 index 26db0913a3e..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_sv.js +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: SV (Swedish; Svenska) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Detta fält är obligatoriskt.", - maxlength: $.validator.format("Du får ange högst {0} tecken."), - minlength: $.validator.format("Du måste ange minst {0} tecken."), - rangelength: $.validator.format("Ange minst {0} och max {1} tecken."), - email: "Ange en korrekt e-postadress.", - url: "Ange en korrekt URL.", - date: "Ange ett korrekt datum.", - dateISO: "Ange ett korrekt datum (ÅÅÅÅ-MM-DD).", - number: "Ange ett korrekt nummer.", - digits: "Ange endast siffror.", - equalTo: "Ange samma värde igen.", - range: $.validator.format("Ange ett värde mellan {0} och {1}."), - max: $.validator.format("Ange ett värde som är mindre eller lika med {0}."), - min: $.validator.format("Ange ett värde som är större eller lika med {0}."), - creditcard: "Ange ett korrekt kreditkortsnummer." - }); -}(jQuery)); diff --git a/js/lib/jquery/plugins/validate/localization/messages_th.js b/js/lib/jquery/plugins/validate/localization/messages_th.js deleted file mode 100644 index f3b02355674..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_th.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: TH (Thai; ไทย) - */ -(function ($) { - $.extend($.validator.messages, { - required: "โปรดระบุ", - remote: "โปรดแก้ไขให้ถูกต้อง", - email: "โปรดระบุที่อยู่อีเมล์ที่ถูกต้อง", - url: "โปรดระบุ URL ที่ถูกต้อง", - date: "โปรดระบุวันที่ ที่ถูกต้อง", - dateISO: "โปรดระบุวันที่ ที่ถูกต้อง (ระบบ ISO).", - number: "โปรดระบุทศนิยมที่ถูกต้อง", - digits: "โปรดระบุจำนวนเต็มที่ถูกต้อง", - creditcard: "โปรดระบุรหัสบัตรเครดิตที่ถูกต้อง", - equalTo: "โปรดระบุค่าเดิมอีกครั้ง", - accept: "โปรดระบุค่าที่มีส่วนขยายที่ถูกต้อง", - maxlength: $.validator.format("โปรดอย่าระบุค่าที่ยาวกว่า {0} อักขระ"), - minlength: $.validator.format("โปรดอย่าระบุค่าที่สั้นกว่า {0} อักขระ"), - rangelength: $.validator.format("โปรดอย่าระบุค่าความยาวระหว่าง {0} ถึง {1} อักขระ"), - range: $.validator.format("โปรดระบุค่าระหว่าง {0} และ {1}"), - max: $.validator.format("โปรดระบุค่าน้อยกว่าหรือเท่ากับ {0}"), - min: $.validator.format("โปรดระบุค่ามากกว่าหรือเท่ากับ {0}") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_tr.js b/js/lib/jquery/plugins/validate/localization/messages_tr.js deleted file mode 100644 index 1c412180a21..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_tr.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: TR (Turkish; Türkçe) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Bu alanın doldurulması zorunludur.", - remote: "Lütfen bu alanı düzeltin.", - email: "Lütfen geçerli bir e-posta adresi giriniz.", - url: "Lütfen geçerli bir web adresi (URL) giriniz.", - date: "Lütfen geçerli bir tarih giriniz.", - dateISO: "Lütfen geçerli bir tarih giriniz(ISO formatında)", - number: "Lütfen geçerli bir sayı giriniz.", - digits: "Lütfen sadece sayısal karakterler giriniz.", - creditcard: "Lütfen geçerli bir kredi kartı giriniz.", - equalTo: "Lütfen aynı değeri tekrar giriniz.", - accept: "Lütfen geçerli uzantıya sahip bir değer giriniz.", - maxlength: $.validator.format("Lütfen en fazla {0} karakter uzunluğunda bir değer giriniz."), - minlength: $.validator.format("Lütfen en az {0} karakter uzunluğunda bir değer giriniz."), - rangelength: $.validator.format("Lütfen en az {0} ve en fazla {1} uzunluğunda bir değer giriniz."), - range: $.validator.format("Lütfen {0} ile {1} arasında bir değer giriniz."), - max: $.validator.format("Lütfen {0} değerine eşit ya da daha küçük bir değer giriniz."), - min: $.validator.format("Lütfen {0} değerine eşit ya da daha büyük bir değer giriniz.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_uk.js b/js/lib/jquery/plugins/validate/localization/messages_uk.js deleted file mode 100644 index cdea494b1d7..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_uk.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: UK (Ukrainian; українська мова) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Це поле необхідно заповнити.", - remote: "Будь ласка, введіть правильне значення.", - email: "Будь ласка, введіть коректну адресу електронної пошти.", - url: "Будь ласка, введіть коректний URL.", - date: "Будь ласка, введіть коректну дату.", - dateISO: "Будь ласка, введіть коректну дату у форматі ISO.", - number: "Будь ласка, введіть число.", - digits: "Вводите потрібно лише цифри.", - creditcard: "Будь ласка, введіть правильний номер кредитної карти.", - equalTo: "Будь ласка, введіть таке ж значення ще раз.", - accept: "Будь ласка, виберіть файл з правильним розширенням.", - maxlength: $.validator.format("Будь ласка, введіть не більше {0} символів."), - minlength: $.validator.format("Будь ласка, введіть не менше {0} символів."), - rangelength: $.validator.format("Будь ласка, введіть значення довжиною від {0} до {1} символів."), - range: $.validator.format("Будь ласка, введіть число від {0} до {1}."), - max: $.validator.format("Будь ласка, введіть число, менше або рівно {0}."), - min: $.validator.format("Будь ласка, введіть число, більше або рівно {0}.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_vi.js b/js/lib/jquery/plugins/validate/localization/messages_vi.js deleted file mode 100644 index fd5f2b5d5e1..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_vi.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: VI (Vietnamese; Tiếng Việt) - */ -(function ($) { - $.extend($.validator.messages, { - required: "Hãy nhập.", - remote: "Hãy sửa cho đúng.", - email: "Hãy nhập email.", - url: "Hãy nhập URL.", - date: "Hãy nhập ngày.", - dateISO: "Hãy nhập ngày (ISO).", - number: "Hãy nhập số.", - digits: "Hãy nhập chữ số.", - creditcard: "Hãy nhập số thẻ tín dụng.", - equalTo: "Hãy nhập thêm lần nữa.", - accept: "Phần mở rộng không đúng.", - maxlength: $.format("Hãy nhập từ {0} kí tự trở xuống."), - minlength: $.format("Hãy nhập từ {0} kí tự trở lên."), - rangelength: $.format("Hãy nhập từ {0} đến {1} kí tự."), - range: $.format("Hãy nhập từ {0} đến {1}."), - max: $.format("Hãy nhập từ {0} trở xuống."), - min: $.format("Hãy nhập từ {1} trở lên.") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_zh.js b/js/lib/jquery/plugins/validate/localization/messages_zh.js deleted file mode 100644 index 2c4d5c30843..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_zh.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語) - */ -(function ($) { - $.extend($.validator.messages, { - required: "必选字段", - remote: "请修正该字段", - email: "请输入正确格式的电子邮件", - url: "请输入合法的网址", - date: "请输入合法的日期", - dateISO: "请输入合法的日期 (ISO).", - number: "请输入合法的数字", - digits: "只能输入整数", - creditcard: "请输入合法的信用卡号", - equalTo: "请再次输入相同的值", - accept: "请输入拥有合法后缀名的字符串", - maxlength: $.validator.format("请输入一个长度最多是 {0} 的字符串"), - minlength: $.validator.format("请输入一个长度最少是 {0} 的字符串"), - rangelength: $.validator.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"), - range: $.validator.format("请输入一个介于 {0} 和 {1} 之间的值"), - max: $.validator.format("请输入一个最大为 {0} 的值"), - min: $.validator.format("请输入一个最小为 {0} 的值") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/messages_zh_TW.js b/js/lib/jquery/plugins/validate/localization/messages_zh_TW.js deleted file mode 100644 index ec0a2ffbc55..00000000000 --- a/js/lib/jquery/plugins/validate/localization/messages_zh_TW.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Translated default messages for the jQuery validation plugin. - * Locale: ZH (Chinese; 中文 (Zhōngwén), 汉语, 漢語) - * Region: TW (Taiwan) - */ -(function ($) { - $.extend($.validator.messages, { - required: "必填", - remote: "請修正此欄位", - email: "請輸入正確的電子信箱", - url: "請輸入合法的URL", - date: "請輸入合法的日期", - dateISO: "請輸入合法的日期 (ISO).", - number: "請輸入數字", - digits: "請輸入整數", - creditcard: "請輸入合法的信用卡號碼", - equalTo: "請重複輸入一次", - accept: "請輸入有效的後缀字串", - maxlength: $.validator.format("請輸入長度不大於{0} 的字串"), - minlength: $.validator.format("請輸入長度不小於 {0} 的字串"), - rangelength: $.validator.format("請輸入長度介於 {0} 和 {1} 之間的字串"), - range: $.validator.format("請輸入介於 {0} 和 {1} 之間的數值"), - max: $.validator.format("請輸入不大於 {0} 的數值"), - min: $.validator.format("請輸入不小於 {0} 的數值") - }); -}(jQuery)); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/methods_de.js b/js/lib/jquery/plugins/validate/localization/methods_de.js deleted file mode 100644 index 3e8ac8437e0..00000000000 --- a/js/lib/jquery/plugins/validate/localization/methods_de.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Localized default methods for the jQuery validation plugin. - * Locale: DE - */ -jQuery.extend(jQuery.validator.methods, { - date: function(value, element) { - return this.optional(element) || /^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value); - }, - number: function(value, element) { - return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value); - } -}); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/methods_nl.js b/js/lib/jquery/plugins/validate/localization/methods_nl.js deleted file mode 100644 index 450041b14e9..00000000000 --- a/js/lib/jquery/plugins/validate/localization/methods_nl.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Localized default methods for the jQuery validation plugin. - * Locale: NL - */ -jQuery.extend(jQuery.validator.methods, { - date: function(value, element) { - return this.optional(element) || /^\d\d?[\.\/\-]\d\d?[\.\/\-]\d\d\d?\d?$/.test(value); - } -}); \ No newline at end of file diff --git a/js/lib/jquery/plugins/validate/localization/methods_pt.js b/js/lib/jquery/plugins/validate/localization/methods_pt.js deleted file mode 100644 index 21879d3bb66..00000000000 --- a/js/lib/jquery/plugins/validate/localization/methods_pt.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Localized default methods for the jQuery validation plugin. - * Locale: PT_BR - */ -jQuery.extend(jQuery.validator.methods, { - date: function(value, element) { - return this.optional(element) || /^\d\d?\/\d\d?\/\d\d\d?\d?$/.test(value); - } -}); \ No newline at end of file