ソースを参照

date validator doesn't allow negative day/month/year

phuoc 11 年 前
コミット
887396068a

+ 1 - 1
dist/css/bootstrapValidator.min.css

@@ -2,7 +2,7 @@
  * BootstrapValidator (http://bootstrapvalidator.com)
  * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3
  *
- * @version     v0.5.0-dev, built on 2014-07-09 8:39:15 PM
+ * @version     v0.5.0-dev, built on 2014-07-10 8:32:06 PM
  * @author      https://twitter.com/nghuuphuoc
  * @copyright   (c) 2013 - 2014 Nguyen Huu Phuoc
  * @license     MIT

+ 2 - 2
dist/js/bootstrapValidator.js

@@ -2,7 +2,7 @@
  * BootstrapValidator (http://bootstrapvalidator.com)
  * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3
  *
- * @version     v0.5.0-dev, built on 2014-07-09 8:39:15 PM
+ * @version     v0.5.0-dev, built on 2014-07-10 8:32:06 PM
  * @author      https://twitter.com/nghuuphuoc
  * @copyright   (c) 2013 - 2014 Nguyen Huu Phuoc
  * @license     MIT
@@ -1726,7 +1726,7 @@
             month = parseInt(month, 10);
             year  = parseInt(year, 10);
 
-            if (year < 1000 || year > 9999 || month === 0 || month > 12) {
+            if (year < 1000 || year > 9999 || month <= 0 || month > 12) {
                 return false;
             }
             var numDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

ファイルの差分が大きいため隠しています
+ 2 - 2
dist/js/bootstrapValidator.min.js


+ 322 - 0
dist/js/language/de_DE.js

@@ -0,0 +1,322 @@
+(function($) {
+    $.fn.bootstrapValidator.i18n = $.extend(true, $.fn.bootstrapValidator.i18n, {
+        base64: {
+            'default': 'Bitte eine Base64 Kodierung eingeben'
+        },
+        between: {
+            'default': 'Bitte einen Wert zwischen %s und %s eingeben',
+            notInclusive: 'Bitte einen Wert zwischen %s und %s (strictly) eingeben'
+        },
+        callback: {
+            'default': 'Bitte einen gültigen Wert eingeben'
+        },
+        choice: {
+            'default': 'Bitte einen gültigen Wert eingeben',
+            less: 'Bitte mindestens %s Werte eingeben',
+            more: 'Bitte maximal %s Werte eingeben',
+            between: 'Zwischen %s - %s Werten wählen'
+        },
+        creditCard: {
+            'default': 'Bitte gültige Kreditkartennr. eingeben'
+        },
+        cusip: {
+            'default': 'Bitte gültige CUSIP Nummer eingeben'
+        },
+        cvv: {
+            'default': 'Bitte gültige CVV Nummer eingeben'
+        },
+        date: {
+            'default': 'Bitte gültiges Datum eingeben'
+        },
+        different: {
+            'default': 'Bitte anderen Wert eingeben'
+        },
+        digits: {
+             'default': 'Bitte Zahlen eingeben'
+        },
+        ean: {
+            'default': 'Bitte gültige EAN Nummer eingeben'
+        },
+        emailAddress: {
+            'default': 'Bitte gültige Emailadresse eingeben'
+        },
+        file: {
+            'default': 'Bitte gültiges File eingeben'
+        },
+        greaterThan: {
+            'default': 'Bitte Wert größer gleich %s eingeben',
+            notInclusive: 'Bitte Wert größer als %s eingeben'
+        },
+        grid: {
+            'default': 'Bitte gültige GRId Nummer eingeben'
+        },
+        hex: {
+            'default': 'Bitte gültigen Hexadezimalwert eingeben'
+        },
+        hexColor: {
+            'default': 'Bitte gültige Hex-Farbe eingeben'
+        },
+        iban: {
+            'default': 'Bitte eine gültige IBAN Nummer eingeben',
+            countryNotSupported: 'Der Ländercode %s wird nicht unterstützt',
+            country: 'Bitte eine gültige IBAN Nummer für %s eingeben',
+            countries: {
+                AD: 'Andorra',
+                AE: 'Vereinigte Arabische Emirate',
+                AL: 'Albanien',
+                AO: 'Angola',
+                AT: 'Österreich',
+                AZ: 'Azerbaijan',
+                BA: 'Bosnien Herzigovina',
+                BE: 'Belgien',
+                BF: 'Burkina Faso',
+                BG: 'Bulgarien',
+                BH: 'Bahrain',
+                BI: 'Burundi',
+                BJ: 'Benin',
+                BR: 'Brasilien',
+                CH: 'Schweiz',
+                CI: 'Elfenbeinküste',
+                CM: 'Kamerun',
+                CR: 'Costa Rica',
+                CV: 'Cape Verde',
+                CY: 'Zypern',
+                CZ: 'Tschechische Repuplik',
+                DE: 'Deutschland',
+                DK: 'Dänemark',
+                DO: 'Dominikanische Republik',
+                DZ: 'Algerien',
+                EE: 'Estland',
+                ES: 'Spanien',
+                FI: 'Finnland',
+                FO: 'Faroer Inseln',
+                FR: 'Frankreich',
+                GB: 'Großbritanien',
+                GE: 'Georgien',
+                GI: 'Gibraltar',
+                GL: 'Grönland',
+                GR: 'Griechenland',
+                GT: 'Guatemala',
+                HR: 'Kroatien',
+                HU: 'Ungarn',
+                IE: 'Irland',
+                IL: 'Israel',
+                IR: 'Iran',
+                IS: 'Island',
+                IT: 'Italien',
+                JO: 'Jordanien',
+                KW: 'Kuwait',
+                KZ: 'Kazakhstan',
+                LB: 'Libanon',
+                LI: 'Liechtenstein',
+                LT: 'Lithauen',
+                LU: 'Luxemburg',
+                LV: 'Lettland',
+                MC: 'Monaco',
+                MD: 'Moldavien',
+                ME: 'Montenegro',
+                MG: 'Madagascar',
+                MK: 'Mazedonien',
+                ML: 'Mali',
+                MR: 'Mauritanien',
+                MT: 'Malta',
+                MU: 'Mauritius',
+                MZ: 'Mozambique',
+                NL: 'Niederlande',
+                NO: 'Norwegen',
+                PK: 'Pakistan',
+                PL: 'Polen',
+                PS: 'Palästina',
+                PT: 'Portugal',
+                QA: 'Qatar',
+                RO: 'Rumänien',
+                RS: 'Serbien',
+                SA: 'Saudi Arabien',
+                SE: 'Schweden',
+                SI: 'Slovenien',
+                SK: 'Slovakai',
+                SM: 'San Marino',
+                SN: 'Senegal',
+                TN: 'Tunesien',
+                TR: 'Türkey',
+                VG: 'Jungfraueninseln'
+            }
+        },
+        id: {
+            'default': 'Bitte gültige Identifikationsnnummer eingeben',
+            countryNotSupported: 'Der Ländercode %s wird nicht unterstützt',
+            country: 'Bitte für %s gültige Identifikationsnummer eingeben',
+            countries: {
+                BA: 'Bosnien und Herzegovina',
+                BG: 'Bulgarisch',
+                BR: 'Brasilianisch',
+                CH: 'Schweizerisch',
+                CL: 'Chilenisch',
+                CZ: 'Tschechisch',
+                DK: 'Dänisch',
+                EE: 'Estnisch',
+                ES: 'Spanisch',
+                FI: 'Finnisch',
+                HR: 'Kroatisch',
+                IE: 'Irisch',
+                IS: 'Isländisch',
+                LT: 'Lithauisch',
+                LV: 'Latvian',
+                ME: 'Montenegrien',
+                MK: 'Mazedonisch',
+                NL: 'Niederländisch',
+                RO: 'Rumänisch',
+                RS: 'Serbisch',
+                SE: 'Schwedisch',
+                SI: 'Slowensich',
+                SK: 'Slowakisch',
+                SM: 'San Marino',
+                ZA: 'Süd Afrikanisch'
+            }
+        },
+        identical: {
+            'default': 'Bitte gleichen Wert eingeben'
+        },
+        imei: {
+            'default': 'Bitte gültige IMEI Nummer eingeben'
+        },
+        integer: {
+            'default': 'Bitte Zahl eingeben'
+        },
+        ip: {
+            'default': 'Bitte  gültige IP-Adresse eingeben',
+            ipv4: 'Bitte  gültige IPv4 Adresse eingeben',
+            ipv6: 'Bitte  gültige IPv6 Adresse eingeben'
+        },
+        isbn: {
+            'default': 'Bitte gültige ISBN Nummer eingeben'
+        },
+        isin: {
+            'default': 'Bitte gültige ISIN Nummer eingeben'
+        },
+        ismn: {
+            'default': 'Bitte gültige ISMN Nummer eingeben'
+        },
+        issn: {
+            'default': 'Bitte gültige ISSN Nummer eingeben'
+        },
+        lessThan: {
+            'default': 'Bitte Wert kleiner gleich %s eingeben',
+            notInclusive: 'Bitte Wert kleiner als %s eingeben'
+        },
+        mac: {
+            'default': 'Bitte gültige MAC Adresse eingeben'
+        },
+        notEmpty: {
+            'default': 'Bitte Wert eingeben'
+        },
+        numeric: {
+            'default': 'Bitte Nummer eingeben'
+        },
+        phone: {
+            'default': 'Bitte gültige Telefonnummer eingeben',
+            countryNotSupported: 'Der Ländercode %s wird nicht unterstützt',
+            country: 'Bitte valide Telefonnummer für %s eingeben',
+            countries: {
+                GB: 'United Kingdom',
+                US: 'USA'
+            }
+        },
+        regexp: {
+            'default': 'Bitte Wert eingeben, der der Maske entspricht'
+        },
+        remote: {
+            'default': 'Bitte einen gültigen Wert eingeben'
+        },
+        rtn: {
+            'default': 'Bitte gültige RTN Nummer eingeben'
+        },
+        sedol: {
+            'default': 'Bitte gültige SEDOL Nummer eingeben'
+        },
+        siren: {
+            'default': 'Bitte gültige SIREN Nummer eingeben'
+        },
+        siret: {
+            'default': 'Bitte gültige SIRET Nummer eingeben'
+        },
+        step: {
+            'default': 'Bitte einen gültigen Schritt von %s eingeben',
+        },
+        stringCase: {
+            'default': 'Bitte nur Kleinbuchstaben eingeben',
+            upper: 'Bitte nur Großbuchstaben eingeben'
+        },
+        stringLength: {
+            'default': 'Bitte Wert mit gültiger Länge eingeben',
+            less: 'Bitte weniger als %s Zeichen eingeben',
+            more: 'Bitte mehr als %s Zeichen eingeben',
+            between: 'Bitte Wert zwischen %s und %s Zeichen eingeben'
+        },
+        uri: {
+            'default': 'Bitte gültige URI eingeben'
+        },
+        uuid: {
+            'default': 'Bitte gültige UUID Nummer eingeben',
+            version: 'Bitte gültige UUID Version %s eingeben'
+        },
+        vat: {
+            'default': 'Bitte gültige VAT Nummer eingeben',
+            countryNotSupported: 'Der Ländercode %s wird nicht unterstützt',
+            country: 'Bitte gültige %s VAT Nummer eingeben',
+            countries: {
+                AT: 'Österreich',
+                BE: 'Belgisch',
+                BG: 'Bulgarisch',
+                CH: 'Schweiz',
+                CY: 'Zypriotisch',
+                CZ: 'Tschechisch',
+                DE: 'Deutsch',
+                DK: 'Dänisch',
+                EE: 'Estnisch',
+                ES: 'Spanisch',
+                FI: 'Finnisch',
+                FR: 'Französisch',
+                GB: 'Englisch (UK)',
+                GR: 'Griechisch',
+                EL: 'Griechisch',
+                HU: 'Ungarisch',
+                HR: 'Kroatisch',
+                IE: 'Irisch',
+                IT: 'Italienisch',
+                LT: 'Lithauisch',
+                LU: 'Luxemburgerisch',
+                LV: 'Lettisch',
+                MT: 'Maltesisch',
+                NL: 'Niederländisch',
+                NO: 'Norwegisch',
+                PL: 'Polnisch',
+                PT: 'Portugiesisch',
+                RO: 'Rumänisch',
+                RU: 'Russisch',
+                RS: 'Serbisch',
+                SE: 'Schwedisch',
+                SI: 'Slowenisch',
+                SK: 'Slowakisch'
+            }
+        },
+        vin: {
+            'default': 'Bitte gültige VIN Nummer eingeben'
+        },
+        zipCode: {
+            'default': 'Bitte gültige PLZ eingeben',
+            countryNotSupported: 'Der Ländercode %s wird nicht unterstützt',
+            country: 'Bitte gültigen Code %s eingeben',
+            countries: {
+                'CA': 'Kanadische Postleitzahl',
+                'DK': 'Dänische Postleitzahl',
+                'GB': 'Englische Postleitzahl',
+                'IT': 'Italienische Postleitzahl',
+                'NL': 'Niederländische Postleitzahl',
+                'SE': 'Schweizerische Postleitzahl',
+                'SG': 'Singapurische Postleitzahl',
+                'US': 'Vereinigte Staaten Postleitzahl'
+            }
+        }
+    });
+}(window.jQuery));

+ 322 - 0
dist/js/language/hu_HU.js

@@ -0,0 +1,322 @@
+(function($) {
+    $.fn.bootstrapValidator.i18n = $.extend(true, $.fn.bootstrapValidator.i18n, {
+        base64: {
+            'default': 'Kérlek, hogy érvényes base 64 karakter láncot adj meg'
+        },
+        between: {
+            'default': 'Kérlek, hogy %s és %s között adj meg értéket',
+            notInclusive: 'Kérlek, hogy %s és %s között adj meg értéket'
+        },
+        callback: {
+            'default': 'Kérlek, hogy érvényes értéket adj meg'
+        },
+        choice: {
+            'default': 'Kérlek, hogy érvényes értéket adj meg',
+            less: 'Kérlek, hogy legalább %s lehetőséget válassz ki',
+            more: 'Kérlek, hogy maximum %s lehetőséget válassz ki',
+            between: 'Kérlek, hogy válassz %s - %s lehetőséget'
+        },
+        creditCard: {
+            'default': 'Kérlek, hogy érvényes bankkártya számot adj meg'
+        },
+        cusip: {
+            'default': 'Kérlek, hogy érvényes CUSIP számot ajd meg'
+        },
+        cvv: {
+            'default': 'Kérlek, hogy érvényes CVV számot ajd meg'
+        },
+        date: {
+            'default': 'Kérlek, hogy érvényes dátumot ajd meg'
+        },
+        different: {
+            'default': 'Kérlek, hogy egy másik értéket adj meg'
+        },
+        digits: {
+            'default': 'Kérlek, hogy csak számot adj meg'
+        },
+        ean: {
+            'default': 'Kérlek, hogy érvényes EAN számot ajd meg'
+        },
+        emailAddress: {
+            'default': 'Kérlek, hogy érvényes email címet ajd meg'
+        },
+        file: {
+            'default': 'Kérlek, hogy érvényes fájlt válassz'
+        },
+        greaterThan: {
+            'default': 'Kérlek, hogy ezzel (%s) egyenlő vagy nagyobb számot adj meg',
+            notInclusive: 'Kérlek, hogy ennél (%s) nagyobb számot adj meg'
+        },
+        grid: {
+            'default': 'Kérlek, hogy érvényes GRId számot ajd meg'
+        },
+        hex: {
+            'default': 'Kérlek, hogy érvényes hexadecimális számot ajd meg'
+        },
+        hexColor: {
+            'default': 'Kérlek, hogy érvényes hexadecimális színt ajd meg'
+        },
+        iban: {
+            'default': 'Kérlek, hogy érvényes IBAN számot ajd meg',
+            countryNotSupported: 'A(z) %s országkód nem támogatott',
+            country: 'Kérlek, hogy helyes %s IBAN számot adj meg',
+            countries: {
+                AD: 'andorrai',
+                AE: 'Egyesül Arab Emirátusok beli',
+                AL: 'albán',
+                AO: 'angolai',
+                AT: 'osztrák',
+                AZ: 'azerbajdzsáni',
+                BA: 'Bosznia-Hercegovina beli',
+                BE: 'belga',
+                BF: 'Burkina Faso beli',
+                BG: 'bulgár',
+                BH: 'bahraini',
+                BI: 'burundi',
+                BJ: 'benini',
+                BR: 'brazil',
+                CH: 'svájci',
+                CI: 'elefántcsontparti',
+                CM: 'camerooni',
+                CR: 'Costa Rica-i',
+                CV: 'Zöld-foki Köztársaság beli',
+                CY: 'ciprusi',
+                CZ: 'cseh',
+                DE: 'Német',
+                DK: 'dán',
+                DO: 'Dominikai Köztársaság beli',
+                DZ: 'algériai',
+                EE: 'észtországi',
+                ES: 'spanyol',
+                FI: 'finn',
+                FO: 'Feröer-szigetek-i',
+                FR: 'francia',
+                GB: 'Egyesült Királyság beli',
+                GE: 'grúz',
+                GI: 'gibraltári',
+                GL: 'grönlandi',
+                GR: 'görög',
+                GT: 'guatemalai',
+                HR: 'horvát',
+                HU: 'magyar',
+                IE: 'ír',
+                IL: 'izraeli',
+                IR: 'iráni',
+                IS: 'izlandi',
+                IT: 'olasz',
+                JO: 'jordán',
+                KW: 'kuwaiti',
+                KZ: 'kazah',
+                LB: 'libanoni',
+                LI: 'liechtensteini',
+                LT: 'litván',
+                LU: 'luxembourgi',
+                LV: 'latviai',
+                MC: 'monacoi',
+                MD: 'moldáv',
+                ME: 'montenegroi',
+                MG: 'madagaszkári',
+                MK: 'macedón',
+                ML: 'Mali -i',
+                MR: 'Mauritánia -i',
+                MT: 'máltai',
+                MU: 'Mauritius -i',
+                MZ: 'mozambik',
+                NL: 'holland',
+                NO: 'norvég',
+                PK: 'pakisztáni',
+                PL: 'lengyel',
+                PS: 'palesztín',
+                PT: 'portugál',
+                QA: 'qatari',
+                RO: 'román',
+                RS: 'szerb',
+                SA: 'saudi',
+                SE: 'svéd',
+                SI: 'szlovén',
+                SK: 'szlovák',
+                SM: 'San Marino beli',
+                SN: 'senegali',
+                TN: 'tunéz',
+                TR: 'török',
+                VG: 'Brit Virgin-szigetek beli'
+            }
+        },
+        id: {
+            'default': 'Kérlek, hogy érvényes személy azonosító számot adj meg',
+            countryNotSupported: 'A(z) %s országkód nem támogatott',
+            country: 'Kérlek, hogy érvényes %s személy azonosító számot ajd meg',
+            countries: {
+                BA: 'Bosznia-Hercegovina beli',
+                BG: 'bulgár',
+                BR: 'brazil',
+                CH: 'svájci',
+                CL: 'chilei',
+                CZ: 'cseh',
+                DK: 'dán',
+                EE: 'észt',
+                ES: 'spanyol',
+                FI: 'finn',
+                HR: 'horvát',
+                IE: 'ír',
+                IS: 'izlandi',
+                LT: 'litván',
+                LV: 'lett',
+                ME: 'montenegroi',
+                MK: 'macedón',
+                NL: 'holland',
+                RO: 'román',
+                RS: 'szerb',
+                SE: 'svéd',
+                SI: 'szlovén',
+                SK: 'szlovák',
+                SM: 'San Marino beli',
+                ZA: 'dél afrikai'
+            }
+        },
+        identical: {
+            'default': 'Kérlek, hogy ugyan azt az értéket add meg'
+        },
+        imei: {
+            'default': 'Kérlek, hogy érvényes IMEI számot adj meg'
+        },
+        integer: {
+            'default': 'Kérlek, hogy számot adj meg'
+        },
+        ip: {
+            'default': 'Kérlek, hogy IP címet adj meg',
+            ipv4: 'Kérlek, hogy érvényes IPv4 címet ajd meg',
+            ipv6: 'Kérlek, hogy érvényes IPv6 címet ajd meg'
+        },
+        isbn: {
+            'default': 'Kérlek, hogy érvényes ISBN számot ajd meg'
+        },
+        isin: {
+            'default': 'Kérlek, hogy érvényes ISIN számot ajd meg'
+        },
+        ismn: {
+            'default': 'Kérlek, hogy érvényes ISMN számot ajd meg'
+        },
+        issn: {
+            'default': 'Kérlek, hogy érvényes ISSN számot ajd meg'
+        },
+        lessThan: {
+            'default': 'Kérlek, hogy adj meg egy számot ami kisebb vagy egyenlő mint %s',
+            notInclusive: 'Kérlek, hogy adj meg egy számot ami kisebb mint %s'
+        },
+        mac: {
+            'default': 'Kérlek, hogy érvényes MAC címet ajd meg'
+        },
+        notEmpty: {
+            'default': 'Kérlek, hogy adj értéket a mezőnek'
+        },
+        numeric: {
+            'default': 'Please enter a valid float number'
+        },
+        phone: {
+            'default': 'Kérlek, hogy érvényes telefonszámot adj meg',
+            countryNotSupported: 'A(z) %s országkód nem támogatott',
+            country: 'Kérlek, hogy érvényes %s telefonszámot adj meg',
+            countries: {
+                GB: 'Egyesült Királyság beli',
+                US: 'Egyesült Államok beli'
+            }
+        },
+        regexp: {
+            'default': 'Kérlek, hogy a mintának megfelelő értéket adj meg'
+        },
+        remote: {
+            'default': 'Kérlek, hogy érvényes értéket adj meg'
+        },
+        rtn: {
+            'default': 'Kérlek, hogy érvényes RTN számot adj meg'
+        },
+        sedol: {
+            'default': 'Kérlek, hogy érvényes SEDOL számot adj meg'
+        },
+        siren: {
+            'default': 'Kérlek, hogy érvényes SIREN számot adj meg'
+        },
+        siret: {
+            'default': 'Kérlek, hogy érvényes SIRET számot adj meg'
+        },
+        step: {
+            'default': 'Kérlek, hogy érvényes lépteket adj meg (%s)'
+        },
+        stringCase: {
+            'default': 'Kérlek, hogy csak kisbetüket ajd meg',
+            upper: 'Kérlek, hogy csak nagy betüket adj meg'
+        },
+        stringLength: {
+            'default': 'Kérlek, hogy érvényes karakter hosszúsággal adj meg értéket',
+            less: 'Kérlek, hogy kevesebb mint %s karaktert adj meg',
+            more: 'Kérlek, hogy több mint %s karaktert adj meg',
+            between: 'Kérlek, hogy legalább %s, de maximum %s karaktert adj meg'
+        },
+        uri: {
+            'default': 'Kérlek, hogy helyes URI -t adj meg'
+        },
+        uuid: {
+            'default': 'Kérlek, hogy érvényes UUID számot adj meg',
+            version: 'Kérlek, hogy érvényes UUID verzió %s számot adj meg'
+        },
+        vat: {
+            'default': 'Kérlek, hogy helyes adó számot adj meg',
+            countryNotSupported: '%s - nem támogatott ország',
+            country: 'Kérlek, hogy heles %s adószámot ajd meg',
+            countries: {
+                AT: 'osztrák',
+                BE: 'belga',
+                BG: 'bulgár',
+                CH: 'svájci',
+                CY: 'ciprusi',
+                CZ: 'cseh',
+                DE: 'német',
+                DK: 'dán',
+                EE: 'észt',
+                ES: 'spanyol',
+                FI: 'finn',
+                FR: 'francia',
+                GB: 'Egyesült Királyság beli',
+                GR: 'görög',
+                EL: 'görög',
+                HU: 'magyar',
+                HR: 'horvát',
+                IE: 'ír',
+                IT: 'olasz',
+                LT: 'litván',
+                LU: 'luxemburgi',
+                LV: 'latviai',
+                MT: 'máltai',
+                NL: 'holland',
+                NO: 'norvég',
+                PL: 'lengyel',
+                PT: 'portugál',
+                RO: 'román',
+                RU: 'orosz',
+                RS: 'szerb',
+                SE: 'svéd',
+                SI: 'szlovén',
+                SK: 'szlovák'
+            }
+        },
+        vin: {
+            'default': 'Kérlek, hogy érvényes VIN számot adj meg'
+        },
+        zipCode: {
+            'default': 'Kérlek, hogy érvényes irányítószámot adj meg',
+            countryNotSupported: '%s - nem támogatott ország',
+            country: 'Kérlek, hogy helyes %s irányítószámot adj meg',
+            countries: {
+                'CA': 'kanadai',
+                'DK': 'dán',
+                'GB': 'Egyesült Királyság beli',
+                'IT': 'olasz',
+                'NL': 'holland',
+                'SE': 'svájci',
+                'SG': 'singaporei',
+                'US': 'Egyesült Államok beli'
+            }
+        }
+    });
+}(window.jQuery));

+ 322 - 0
dist/js/language/zh_CN.js

@@ -0,0 +1,322 @@
+(function($) {
+    $.fn.bootstrapValidator.i18n = $.extend(true, $.fn.bootstrapValidator.i18n, {
+        base64: {
+            'default': '请输入有效的Base64编码'
+        },
+        between: {
+            'default': '请输入不小于%s 且不大于%s 的值',
+            notInclusive: '请输入不小于等于%s 且不大于等于%s 的值'
+        },
+        callback: {
+            'default': '请输入有效的值'
+        },
+        choice: {
+            'default': '请输入有效的值',
+            less: '最少选择 %s 个选项',
+            more: '最多选择 %s 个选项',
+            between: '请选择 %s 至 %s 个选项'
+        },
+        creditCard: {
+            'default': '请输入有效的信用卡号码'
+        },
+        cusip: {
+            'default': '请输入有效的CUSIP'
+        },
+        cvv: {
+            'default': '请输入有效的CVV'
+        },
+        date: {
+            'default': '请输入有效的日期'
+        },
+        different: {
+            'default': '请输入不一样的值'
+        },
+        digits: {
+             'default': '只能输入数字'
+        },
+        ean: {
+            'default': '请输入有效的EAN'
+        },
+        emailAddress: {
+            'default': '请输入有效的EMAIL'
+        },
+        file: {
+            'default': '请选择有效的档案'
+        },
+        greaterThan: {
+            'default': '请输入大于或等于 %s 的值',
+            notInclusive: '请输入大于 %s 的值'
+        },
+        grid: {
+            'default': '请输入有效的GRId'
+        },
+        hex: {
+            'default': '请输入有效的16位元码'
+        },
+        hexColor: {
+            'default': '请输入有效的16位色码'
+        },
+        iban: {
+            'default': '请输入有效的IBAN ',
+            countryNotSupported: '不支援该国家代码%s',
+            country: '请输入有效的 %s IBAN编号 ',
+            countries: {
+                AD: '安道​​尔',
+                AE: '阿联酋',
+                AL: '阿尔巴尼亚',
+                AO: '安哥拉',
+                AT: '奥地利',
+                AZ: '阿塞拜疆',
+                BA: '波斯尼亚和黑塞哥维那',
+                BE: '比利时',
+                BF: '布基纳法索',
+                BG: '保加利亚',
+                BH: '巴林',
+                BI: '布隆迪',
+                BJ: '贝宁',
+                BR: '巴西',
+                CH: '瑞士',
+                CI: '象牙海岸',
+                CM: '喀麦隆',
+                CR: '哥斯达黎加',
+                CV: '佛得角',
+                CY: '塞浦路斯',
+                CZ: '捷克共和国',
+                DE: '德国',
+                DK: '丹麦',
+                DO: '多明尼加共和国',
+                DZ: '阿尔及利亚',
+                EE: '爱沙尼亚',
+                ES: '西班牙',
+                FI: '芬兰',
+                FO: '法罗群岛',
+                FR: '法国',
+                GB: '英国',
+                GE: '格鲁吉亚',
+                GI: '直布罗陀',
+                GL: '格陵兰岛',
+                GR: '希腊',
+                GT: '危地马拉',
+                HR: '克罗地亚',
+                HU: '匈牙利',
+                IE: '爱尔兰',
+                IL: '以色列',
+                IR: '伊朗',
+                IS: '冰岛',
+                IT: '意大利',
+                JO: '乔丹',
+                KW: '科威特',
+                KZ: '哈萨克斯坦',
+                LB: '黎巴嫩',
+                LI: '列支敦士登',
+                LT: '立陶宛',
+                LU: '卢森堡',
+                LV: '拉脱维亚',
+                MC: '摩纳哥',
+                MD: '摩尔多瓦',
+                ME: '黑山共和国',
+                MG: '马达加斯加',
+                MK: '马其顿',
+                ML: '马里',
+                MR: '毛里塔尼亚',
+                MT: '马耳他',
+                MU: '毛里求斯',
+                MZ: '莫桑比克',
+                NL: '荷兰',
+                NO: '挪威',
+                PK: '巴基斯坦',
+                PL: '波兰',
+                PS: '巴勒斯坦',
+                PT: '葡萄牙',
+                QA: '卡塔尔',
+                RO: '罗马尼亚',
+                RS: '塞尔维亚',
+                SA: '沙特阿拉伯',
+                SE: '瑞典',
+                SI: '斯洛文尼亚',
+                SK: '斯洛伐克',
+                SM: '圣马力诺',
+                SN: '塞内加尔',
+                TN: '突尼斯',
+                TR: '土耳其',
+                VG: '英属维尔京群岛'
+            }
+        },
+        id: {
+            'default': '请输入有效的身份证字号码',
+            countryNotSupported: '不支援该国家代码%s',
+            country: '请输入有效的%s 身份证字号码',
+            countries: {
+                BA: '波斯尼亚和黑塞哥维那',
+                BG: '保加利亚',
+                BR: '巴西',
+                CH: '瑞士',
+                CL: '智利',
+                CZ: '捷克',
+                DK: '丹麦',
+                EE: '爱沙尼亚',
+                ES: '西班牙语',
+                FI: '芬兰',
+                HR: '克罗地亚',
+                IE: '爱尔兰',
+                IS: '冰岛',
+                LT: '立陶宛',
+                LV: '拉脱维亚语',
+                ME: '黑山共和国',
+                MK: '马其顿',
+                NL: '荷兰',
+                RO: '罗马尼亚',
+                RS: '塞尔维亚',
+                SE: '瑞典',
+                SI: '斯洛文尼亚',
+                SK: '斯洛伐克',
+                SM: '圣马力诺',
+                ZA: '南非'
+            }
+        },
+        identical: {
+            'default': '请输入一样的值'
+        },
+        imei: {
+            'default': '请输入有效的IMEI'
+        },
+        integer: {
+            'default': '请输入有效的整数'
+        },
+        ip: {
+            'default': '请输入有效的IP位址',
+            ipv4: '请输入有效的IPv4位址',
+            ipv6: '请输入有效的IPv6位址'
+        },
+        isbn: {
+            'default': '请输入有效的ISBN'
+        },
+        isin: {
+            'default': '请输入有效的ISIN'
+        },
+        ismn: {
+            'default': '请输入有效的ISMN'
+        },
+        issn: {
+            'default': '请输入有效的ISSN'
+        },
+        lessThan: {
+            'default': '请输入小于或等于 %s 的值',
+            notInclusive: '请输入小于 %s 的值'
+        },
+        mac: {
+            'default': '请输入有效的MAC位址'
+        },
+        notEmpty: {
+            'default': '栏位不能为空'
+        },
+        numeric: {
+            'default': '请输入有效的浮点数'
+        },
+        phone: {
+            'default': '请输入有效的电话号码',
+            countryNotSupported: '不支援该国家代码%s',
+            country: '请输入有效的 %s 电话号码',
+            countries: {
+                GB: '英国',
+                US: '美国'
+            }
+        },
+        regexp: {
+            'default': '请输入有效的值'
+        },
+        remote: {
+            'default': '请输入有效的值'
+        },
+        rtn: {
+            'default': '请输入有效的RTN'
+        },
+        sedol: {
+            'default': '请输入有效的SEDOL'
+        },
+        siren: {
+            'default': '请输入有效的SIREN'
+        },
+        siret: {
+            'default': '请输入有效的SIRET'
+        },
+        step: {
+            'default': '请输入 %s 个有效步骤'
+        },
+        stringCase: {
+            'default': '只能输入小写的值',
+            upper: '只能输入大写的值'
+        },
+        stringLength: {
+            'default': '请输入符合长度限制的值',
+            less: '请输入小于 %s 个字',
+            more: '请输入大于 %s 个字',
+            between: '请输入介于 %s 至 %s 个字'
+        },
+        uri: {
+            'default': '请输入一个有效的链接'
+        },
+        uuid: {
+            'default': '请输入有效的UUID',
+            version: '请输入符合版本 %s 的UUID'
+        },
+        vat: {
+            'default': '请输入有效的VAT',
+            countryNotSupported: '不支援该国家代码%s',
+            country: '请输入有效的 %s VAT',
+            countries: {
+                AT: '奥地利',
+                BE: '比利时',
+                BG: '保加利亚',
+                CH: '瑞士',
+                CY: '塞浦路斯',
+                CZ: '捷克',
+                DE: '德语',
+                DK: '丹麦',
+                EE: '爱沙尼亚',
+                ES: '西班牙',
+                FI: '芬兰',
+                FR: '法语',
+                GB: '英国',
+                GR: '希腊',
+                EL: '希腊',
+                HU: '匈牙利',
+                HR: '克罗地亚',
+                IE: '爱尔兰',
+                IT: '意大利',
+                LT: '立陶宛',
+                LU: '卢森堡',
+                LV: '拉脱维亚语',
+                MT: '马耳他',
+                NL: '荷兰',
+                NO: '挪威',
+                PL: '波兰',
+                PT: '葡萄牙',
+                RO: '罗马尼亚',
+                RU: '俄罗斯',
+                RS: '塞尔维亚',
+                SE: '瑞典',
+                SI: '斯洛文尼亚',
+                SK: '斯洛伐克'
+            }
+        },
+        vin: {
+            'default': '请输入有效的VIN'
+        },
+        zipCode: {
+            'default': '请输入有效的邮政编码',
+            countryNotSupported: '不支援该国家代码%s',
+            country: '请输入有效的 %s',
+            countries: {
+                'CA': '加拿大 邮政编码',
+                'DK': '丹麦 邮政编码',
+                'GB': '英国 邮政编码',
+                'IT': '意大利 邮政编码',
+                'NL': '荷兰 邮政编码',
+                'SE': '瑞士 邮政编码',
+                'SG': '新加坡 邮政编码',
+                'US': '美国 邮政编码'
+            }
+        }
+    });
+}(window.jQuery));

+ 322 - 0
dist/js/language/zh_TW.js

@@ -0,0 +1,322 @@
+(function($) {
+    $.fn.bootstrapValidator.i18n = $.extend(true, $.fn.bootstrapValidator.i18n, {
+        base64: {
+            'default': '請輸入有效的Base64編碼'
+        },
+        between: {
+            'default': '請輸入不小於 %s 且不大於 %s 的值',
+            notInclusive: '請輸入不小於等於 %s 且不大於等於 %s 的值'
+        },
+        callback: {
+            'default': '請輸入有效的值'
+        },
+        choice: {
+            'default': '請輸入有效的值',
+            less: '最少選擇 %s 個選項',
+            more: '最多選擇 %s 個選項',
+            between: '請選擇 %s 至 %s 個選項'
+        },
+        creditCard: {
+            'default': '請輸入有效的信用卡號碼'
+        },
+        cusip: {
+            'default': '請輸入有效的CUSIP'
+        },
+        cvv: {
+            'default': '請輸入有效的CVV'
+        },
+        date: {
+            'default': '請輸入有效的日期'
+        },
+        different: {
+            'default': '請輸入不一樣的值'
+        },
+        digits: {
+             'default': '只能輸入數字'
+        },
+        ean: {
+            'default': '請輸入有效的EAN'
+        },
+        emailAddress: {
+            'default': '請輸入有效的EMAIL'
+        },
+        file: {
+            'default': '請選擇有效的檔案'
+        },
+        greaterThan: {
+            'default': '請輸入大於或等於 %s 的值',
+            notInclusive: '請輸入大於 %s 的值'
+        },
+        grid: {
+            'default': '請輸入有效的GRId'
+        },
+        hex: {
+            'default': '請輸入有效的16位元碼'
+        },
+        hexColor: {
+            'default': '請輸入有效的16位色碼'
+        },
+        iban: {
+            'default': '請輸入有效的IBAN ',
+            countryNotSupported: '不支援該國家代碼 %s',
+            country: '請輸入有效的 %s IBAN編號 ',
+            countries: {
+                AD: '安道​​爾',
+                AE: '阿聯酋',
+                AL: '阿爾巴尼亞',
+                AO: '安哥拉',
+                AT: '奧地利',
+                AZ: '阿塞拜疆',
+                BA: '波斯尼亞和黑塞哥維那',
+                BE: '比利時',
+                BF: '布基納法索',
+                BG: '保加利亞',
+                BH: '巴林',
+                BI: '布隆迪',
+                BJ: '貝寧',
+                BR: '巴西',
+                CH: '瑞士',
+                CI: '象牙海岸',
+                CM: '喀麥隆',
+                CR: '哥斯達黎加',
+                CV: '佛得角',
+                CY: '塞浦路斯',
+                CZ: '捷克共和國',
+                DE: '德國',
+                DK: '丹麥',
+                DO: '多明尼加共和國',
+                DZ: '阿爾及利亞',
+                EE: '愛沙尼亞',
+                ES: '西班牙',
+                FI: '芬蘭',
+                FO: '法羅群島',
+                FR: '法國',
+                GB: '英國',
+                GE: '格魯吉亞',
+                GI: '直布羅陀',
+                GL: '格陵蘭島',
+                GR: '希臘',
+                GT: '危地馬拉',
+                HR: '克羅地亞',
+                HU: '匈牙利',
+                IE: '愛爾蘭',
+                IL: '以色列',
+                IR: '伊朗',
+                IS: '冰島',
+                IT: '意大利',
+                JO: '喬丹',
+                KW: '科威特',
+                KZ: '哈薩克斯坦',
+                LB: '黎巴嫩',
+                LI: '列支敦士登',
+                LT: '立陶宛',
+                LU: '盧森堡',
+                LV: '拉脫維亞',
+                MC: '摩納哥',
+                MD: '摩爾多瓦',
+                ME: '黑山共和國',
+                MG: '馬達加斯加',
+                MK: '馬其頓',
+                ML: '馬里',
+                MR: '毛里塔尼亞',
+                MT: '馬耳他',
+                MU: '毛里求斯',
+                MZ: '莫桑比克',
+                NL: '荷蘭',
+                NO: '挪威',
+                PK: '巴基斯坦',
+                PL: '波蘭',
+                PS: '巴勒斯坦',
+                PT: '葡萄牙',
+                QA: '卡塔爾',
+                RO: '羅馬尼亞',
+                RS: '塞爾維亞',
+                SA: '沙特阿拉伯',
+                SE: '瑞典',
+                SI: '斯洛文尼亞',
+                SK: '斯洛伐克',
+                SM: '聖馬力諾',
+                SN: '塞內加爾',
+                TN: '突尼斯',
+                TR: '土耳其',
+                VG: '英屬維爾京群島'
+            }
+        },
+        id: {
+            'default': '請輸入有效的身份證字號碼',
+            countryNotSupported: '不支援該國家代碼 %s',
+            country: '請輸入有效的 %s 身份證字號碼',
+            countries: {
+                BA: '波斯尼亞和黑塞哥維那',
+                BG: '保加利亞',
+                BR: '巴西',
+                CH: '瑞士',
+                CL: '智利',
+                CZ: '捷克',
+                DK: '丹麥',
+                EE: '愛沙尼亞',
+                ES: '西班牙語',
+                FI: '芬蘭',
+                HR: '克羅地亞',
+                IE: '愛爾蘭',
+                IS: '冰島',
+                LT: '立陶宛',
+                LV: '拉脫維亞語',
+                ME: '黑山共和國',
+                MK: '馬其頓',
+                NL: '荷蘭',
+                RO: '羅馬尼亞',
+                RS: '塞爾維亞',
+                SE: '瑞典',
+                SI: '斯洛文尼亞',
+                SK: '斯洛伐克',
+                SM: '聖馬力諾',
+                ZA: '南非'
+            }
+        },
+        identical: {
+            'default': '請輸入一樣的值'
+        },
+        imei: {
+            'default': '請輸入有效的IMEI'
+        },
+        integer: {
+            'default': '請輸入有效的整數'
+        },
+        ip: {
+            'default': '請輸入有效的IP位址',
+            ipv4: '請輸入有效的IPv4位址',
+            ipv6: '請輸入有效的IPv6位址'
+        },
+        isbn: {
+            'default': '請輸入有效的ISBN'
+        },
+        isin: {
+            'default': '請輸入有效的ISIN'
+        },
+        ismn: {
+            'default': '請輸入有效的ISMN'
+        },
+        issn: {
+            'default': '請輸入有效的ISSN'
+        },
+        lessThan: {
+            'default': '請輸入小於或等於 %s 的值',
+            notInclusive: '請輸入小於 %s 的值'
+        },
+        mac: {
+            'default': '請輸入有效的MAC位址'
+        },
+        notEmpty: {
+            'default': '欄位不能為空'
+        },
+        numeric: {
+            'default': '請輸入有效的浮點數'
+        },
+        phone: {
+            'default': '請輸入有效的電話號碼',
+            countryNotSupported: '不支援該國家代碼 %s',
+            country: '請輸入有效的 %s 電話號碼',
+            countries: {
+                GB: '英國',
+                US: '美國'
+            }
+        },
+        regexp: {
+            'default': '請輸入有效的值'
+        },
+        remote: {
+            'default': '請輸入有效的值'
+        },
+        rtn: {
+            'default': '請輸入有效的RTN'
+        },
+        sedol: {
+            'default': '請輸入有效的SEDOL'
+        },
+        siren: {
+            'default': '請輸入有效的SIREN'
+        },
+        siret: {
+            'default': '請輸入有效的SIRET'
+        },
+        step: {
+            'default': '請輸入 %s 個有效步驟'
+        },
+        stringCase: {
+            'default': '只能輸入小寫的值',
+            upper: '只能輸入大寫的值'
+        },
+        stringLength: {
+            'default': '請輸入符合長度限制的值',
+            less: '請輸入小於 %s 個字',
+            more: '請輸入大於 %s 個字',
+            between: '請輸入介於 %s 至 %s 個字'
+        },
+        uri: {
+            'default': '請輸入一個有效的鏈接'
+        },
+        uuid: {
+            'default': '請輸入有效的UUID',
+            version: '請輸入符合版本 %s 的UUID'
+        },
+        vat: {
+            'default': '請輸入有效的VAT',
+            countryNotSupported: '不支援該國家代碼 %s',
+            country: '請輸入有效的 %s VAT',
+            countries: {
+                AT: '奧地利',
+                BE: '比利時',
+                BG: '保加利亞',
+                CH: '瑞士',
+                CY: '塞浦路斯',
+                CZ: '捷克',
+                DE: '德語',
+                DK: '丹麥',
+                EE: '愛沙尼亞',
+                ES: '西班牙',
+                FI: '芬蘭',
+                FR: '法語',
+                GB: '英國',
+                GR: '希臘',
+                EL: '希臘',
+                HU: '匈牙利',
+                HR: '克羅地亞',
+                IE: '愛爾蘭',
+                IT: '意大利',
+                LT: '立陶宛',
+                LU: '盧森堡',
+                LV: '拉脫維亞語',
+                MT: '馬耳他',
+                NL: '荷蘭',
+                NO: '挪威',
+                PL: '波蘭',
+                PT: '葡萄牙',
+                RO: '羅馬尼亞',
+                RU: '俄羅斯',
+                RS: '塞爾維亞',
+                SE: '瑞典',
+                SI: '斯洛文尼亞',
+                SK: '斯洛伐克'
+            }
+        },
+        vin: {
+            'default': '請輸入有效的VIN'
+        },
+        zipCode: {
+            'default': '請輸入有效的郵政編碼',
+            countryNotSupported: '不支援該國家代碼 %s',
+            country: '請輸入有效的 %s',
+            countries: {
+                'CA': '加拿大 郵政編碼',
+                'DK': '丹麥 郵政編碼',
+                'GB': '英國 郵政編碼',
+                'IT': '意大利 郵政編碼',
+                'NL': '荷蘭 郵政編碼',
+                'SE': '瑞士 郵政編碼',
+                'SG': '新加坡 郵政編碼',
+                'US': '美國 郵政編碼'
+            }
+        }
+    });
+}(window.jQuery));

+ 1 - 1
src/js/bootstrapValidator.js

@@ -1725,7 +1725,7 @@
             month = parseInt(month, 10);
             year  = parseInt(year, 10);
 
-            if (year < 1000 || year > 9999 || month === 0 || month > 12) {
+            if (year < 1000 || year > 9999 || month <= 0 || month > 12) {
                 return false;
             }
             var numDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

+ 16 - 0
test/spec.js

@@ -1803,6 +1803,22 @@ describe('date', function() {
         this.bv.validate();
         expect(this.bv.isValid()).toEqual(false);
 
+        // Negative number
+        this.bv.resetForm();
+        this.$date.val('-2000/10/20');
+        this.bv.validate();
+        expect(this.bv.isValid()).toEqual(false);
+
+        this.bv.resetForm();
+        this.$date.val('2000/-10/20');
+        this.bv.validate();
+        expect(this.bv.isValid()).toEqual(false);
+
+        this.bv.resetForm();
+        this.$date.val('2000/10/-20');
+        this.bv.validate();
+        expect(this.bv.isValid()).toEqual(false);
+
         // Consist invalid characters
         // #310
         this.bv.resetForm();

+ 16 - 0
test/spec/validator/date.js

@@ -54,6 +54,22 @@ describe('date', function() {
         this.bv.validate();
         expect(this.bv.isValid()).toEqual(false);
 
+        // Negative number
+        this.bv.resetForm();
+        this.$date.val('-2000/10/20');
+        this.bv.validate();
+        expect(this.bv.isValid()).toEqual(false);
+
+        this.bv.resetForm();
+        this.$date.val('2000/-10/20');
+        this.bv.validate();
+        expect(this.bv.isValid()).toEqual(false);
+
+        this.bv.resetForm();
+        this.$date.val('2000/10/-20');
+        this.bv.validate();
+        expect(this.bv.isValid()).toEqual(false);
+
         // Consist invalid characters
         // #310
         this.bv.resetForm();