Browse Source

#1022: Add Portugal postal code validator, thanks to @zmira

Phuoc Nguyen 11 years ago
parent
commit
ab46473a94
71 changed files with 101 additions and 5 deletions
  1. 1 0
      CHANGELOG.md
  2. 1 1
      dist/css/bootstrapValidator.min.css
  3. 8 2
      dist/js/bootstrapValidator.js
  4. 2 2
      dist/js/bootstrapValidator.min.js
  5. 1 0
      dist/js/language/ar_MA.js
  6. 1 0
      dist/js/language/be_FR.js
  7. 1 0
      dist/js/language/be_NL.js
  8. 1 0
      dist/js/language/bg_BG.js
  9. 1 0
      dist/js/language/cs_CZ.js
  10. 1 0
      dist/js/language/da_DK.js
  11. 1 0
      dist/js/language/de_DE.js
  12. 1 0
      dist/js/language/en_US.js
  13. 1 0
      dist/js/language/es_CL.js
  14. 1 0
      dist/js/language/es_ES.js
  15. 1 0
      dist/js/language/fa_IR.js
  16. 1 0
      dist/js/language/fr_FR.js
  17. 1 0
      dist/js/language/gr_EL.js
  18. 1 0
      dist/js/language/he_IL.js
  19. 1 0
      dist/js/language/hu_HU.js
  20. 1 0
      dist/js/language/id_ID.js
  21. 1 0
      dist/js/language/it_IT.js
  22. 1 0
      dist/js/language/ja_JP.js
  23. 1 0
      dist/js/language/nl_NL.js
  24. 1 0
      dist/js/language/no_NO.js
  25. 1 0
      dist/js/language/pl_PL.js
  26. 1 0
      dist/js/language/pt_BR.js
  27. 1 0
      dist/js/language/ro_RO.js
  28. 1 0
      dist/js/language/ru_RU.js
  29. 1 0
      dist/js/language/sq_AL.js
  30. 1 0
      dist/js/language/sr_RS.js
  31. 1 0
      dist/js/language/sv_SE.js
  32. 1 0
      dist/js/language/th_TH.js
  33. 1 0
      dist/js/language/tr_TR.js
  34. 1 0
      dist/js/language/ua_UA.js
  35. 1 0
      dist/js/language/vi_VN.js
  36. 1 0
      dist/js/language/zh_CN.js
  37. 1 0
      dist/js/language/zh_TW.js
  38. 1 0
      src/js/language/ar_MA.js
  39. 1 0
      src/js/language/be_FR.js
  40. 1 0
      src/js/language/be_NL.js
  41. 1 0
      src/js/language/bg_BG.js
  42. 1 0
      src/js/language/cs_CZ.js
  43. 1 0
      src/js/language/da_DK.js
  44. 1 0
      src/js/language/de_DE.js
  45. 1 0
      src/js/language/en_US.js
  46. 1 0
      src/js/language/es_CL.js
  47. 1 0
      src/js/language/es_ES.js
  48. 1 0
      src/js/language/fa_IR.js
  49. 1 0
      src/js/language/fr_FR.js
  50. 1 0
      src/js/language/gr_EL.js
  51. 1 0
      src/js/language/he_IL.js
  52. 1 0
      src/js/language/hu_HU.js
  53. 1 0
      src/js/language/id_ID.js
  54. 1 0
      src/js/language/it_IT.js
  55. 1 0
      src/js/language/ja_JP.js
  56. 1 0
      src/js/language/nl_NL.js
  57. 1 0
      src/js/language/no_NO.js
  58. 1 0
      src/js/language/pl_PL.js
  59. 1 0
      src/js/language/pt_BR.js
  60. 1 0
      src/js/language/ro_RO.js
  61. 1 0
      src/js/language/ru_RU.js
  62. 1 0
      src/js/language/sq_AL.js
  63. 1 0
      src/js/language/sr_RS.js
  64. 1 0
      src/js/language/sv_SE.js
  65. 1 0
      src/js/language/th_TH.js
  66. 1 0
      src/js/language/tr_TR.js
  67. 1 0
      src/js/language/ua_UA.js
  68. 1 0
      src/js/language/vi_VN.js
  69. 1 0
      src/js/language/zh_CN.js
  70. 1 0
      src/js/language/zh_TW.js
  71. 23 0
      test/spec.js

+ 1 - 0
CHANGELOG.md

@@ -11,6 +11,7 @@ __New Features__
 * [#1008](https://github.com/nghuuphuoc/bootstrapvalidator/pull/1008): Add France [postal code](http://bootstrapvalidator.com/validators/zipCode/) validator, thanks to [@jazzzz](https://github.com/jazzzz)
 * [#1010](https://github.com/nghuuphuoc/bootstrapvalidator/pull/1010): Add Ireland [postal code](http://bootstrapvalidator.com/validators/zipCode/) validator, thanks to [@zmira](https://github.com/zmira)
 * [#1018](https://github.com/nghuuphuoc/bootstrapvalidator/pull/1018): Add German [phone number](http://bootstrapvalidator.com/validators/phone/) and [postal code](http://bootstrapvalidator.com/validators/zipCode/) validators, thanks to [@jhadenfeldt](https://github.com/jhadenfeldt)
+* [#1022](https://github.com/nghuuphuoc/bootstrapvalidator/pull/1022): Add Portugal [postal code](http://bootstrapvalidator.com/validators/zipCode/) validator, thanks to [@zmira](https://github.com/zmira)
 
 __Improvements__
 * [#823](https://github.com/nghuuphuoc/bootstrapvalidator/issues/823): The [hexColor](http://bootstrapvalidator.com/validators/hexColor/) validator only accepts 6 hex character values when using HTML 5 ```type='color'``` attribute

+ 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.3-dev, built on 2014-10-24 11:14:06 AM
+ * @version     v0.5.3-dev, built on 2014-10-24 11:29:27 AM
  * @author      https://twitter.com/nghuuphuoc
  * @copyright   (c) 2013 - 2014 Nguyen Huu Phuoc
  * @license     MIT

+ 8 - 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.3-dev, built on 2014-10-24 11:14:06 AM
+ * @version     v0.5.3-dev, built on 2014-10-24 11:29:27 AM
  * @author      https://twitter.com/nghuuphuoc
  * @copyright   (c) 2013 - 2014 Nguyen Huu Phuoc
  * @license     MIT
@@ -7954,6 +7954,7 @@ if (typeof jQuery === 'undefined') {
             IT: 'Italy',
             MA: 'Morocco',
             NL: 'Netherlands',
+            PT: 'Portugal',
             RO: 'Romania',
             RU: 'Russia',
             SE: 'Sweden',
@@ -7969,7 +7970,7 @@ if (typeof jQuery === 'undefined') {
             country: 'country'
         },
 
-        COUNTRY_CODES: ['BR', 'CA', 'CZ', 'DE', 'DK', 'FR', 'GB', 'IE', 'IT', 'MA', 'NL', 'RO', 'RU', 'SE', 'SG', 'SK', 'US'],
+        COUNTRY_CODES: ['BR', 'CA', 'CZ', 'DE', 'DK', 'FR', 'GB', 'IE', 'IT', 'MA', 'NL', 'PT', 'RO', 'RU', 'SE', 'SG', 'SK', 'US'],
 
         /**
          * Return true if and only if the input value is a valid country zip code
@@ -8063,6 +8064,11 @@ if (typeof jQuery === 'undefined') {
                 case 'NL':
                     isValid = /^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i.test(value);
                     break;
+                
+                // Test: http://refiddle.com/1l2t
+                case 'PT':
+                    isValid = /^[1-9]\d{3}-\d{3}$/.test(value);
+                    break;
                     
                 case 'RO':
                     isValid = /^(0[1-8]{1}|[1-9]{1}[0-5]{1})?[0-9]{4}$/i.test(value);

File diff suppressed because it is too large
+ 2 - 2
dist/js/bootstrapValidator.min.js


+ 1 - 0
dist/js/language/ar_MA.js

@@ -355,6 +355,7 @@
                 IT: 'إيطاليا',
                 MA: 'المغرب',
                 NL: 'هولندا',
+                PT: 'البرتغال',
                 RO: 'رومانيا',
                 RU: 'روسيا',
                 SE: 'السويد',

+ 1 - 0
dist/js/language/be_FR.js

@@ -355,6 +355,7 @@
                 IT: 'Italie',
                 MA: 'Maroc',
                 NL: 'Pays-Bas',
+                PT: 'Portugal',
                 RO: 'Roumanie',
                 RU: 'Russie',
                 SE: 'Suède',

+ 1 - 0
dist/js/language/be_NL.js

@@ -355,6 +355,7 @@
                 IT: 'Italië',
                 MA: 'Marokko',
                 NL: 'Nederland',
+                PT: 'Portugal',
                 RO: 'Roemenië',
                 RU: 'Rusland',
                 SE: 'Zweden',

+ 1 - 0
dist/js/language/bg_BG.js

@@ -355,6 +355,7 @@
                 IT: 'Италия',
                 MA: 'Мароко',
                 NL: 'Холандия',
+                PT: 'Португалия',
                 RO: 'Румъния',
                 RU: 'Русия',
                 SE: 'Швеция',

+ 1 - 0
dist/js/language/cs_CZ.js

@@ -355,6 +355,7 @@
                 IT: 'Itálie',
                 MA: 'Maroko',
                 NL: 'Nizozemí',
+                PT: 'Portugalsko',
                 RO: 'Rumunsko',
                 RU: 'Rusko',
                 SE: 'Švédsko',

+ 1 - 0
dist/js/language/da_DK.js

@@ -355,6 +355,7 @@
                 IT: 'Italien',
                 MA: 'Marokko',
                 NL: 'Holland',
+                PT: 'Portugal',
                 RO: 'Rumænien',
                 RU: 'Rusland',
                 SE: 'Sverige',

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

@@ -355,6 +355,7 @@
                 IT: 'Italien',
                 MA: 'Marokko',
                 NL: 'Niederlande',
+                PT: 'Portugal',
                 RO: 'Rumänien',
                 RU: 'Russland',
                 SE: 'Schweden',

+ 1 - 0
dist/js/language/en_US.js

@@ -355,6 +355,7 @@
                 IT: 'Italy',
                 MA: 'Morocco',
                 NL: 'Netherlands',
+                PT: 'Portugal',
                 RO: 'Romania',
                 RU: 'Russia',
                 SE: 'Sweden',

+ 1 - 0
dist/js/language/es_CL.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Marruecos',
                 NL: 'Países Bajos',
+                PT: 'Portugal',
                 RO: 'Rumanía',
                 RU: 'Rusia',
                 SE: 'Suecia',

+ 1 - 0
dist/js/language/es_ES.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Marruecos',
                 NL: 'Países Bajos',
+                PT: 'Portugal',
                 RO: 'Rumanía',
                 RU: 'Rusa',
                 SE: 'Suecia',

+ 1 - 0
dist/js/language/fa_IR.js

@@ -355,6 +355,7 @@
                 IT: 'ایتالیا',
                 MA: 'مراکش',
                 NL: 'هلند',
+                PT: 'پرتغال',
                 RO: 'رومانی',
                 RU: 'روسیه',
                 SE: 'سوئد',

+ 1 - 0
dist/js/language/fr_FR.js

@@ -355,6 +355,7 @@
                 IT: 'Italie',
                 MA: 'Maroc',
                 NL: 'Pays-Bas',
+                PT: 'Portugal',
                 RO: 'Roumanie',
                 RU: 'Russie',
                 SE: 'Suède',

+ 1 - 0
dist/js/language/gr_EL.js

@@ -355,6 +355,7 @@
                 IT: 'Ιταλία',
                 MA: 'Μαρόκο',
                 NL: 'Ολλανδία',
+                PT: 'Πορτογαλία',
                 RO: 'Ρουμανία',
                 RU: 'Ρωσία',
                 SE: 'Σουηδία',

+ 1 - 0
dist/js/language/he_IL.js

@@ -355,6 +355,7 @@
                 IT: 'איטליה',
                 MA: 'מרוקו',
                 NL: 'הולנד',
+                PT: 'פורטוגל',
                 RO: 'רומניה',
                 RU: 'רוסיה',
                 SE: 'שוודיה',

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

@@ -355,6 +355,7 @@
                 IT: 'Olaszországban',
                 MA: 'Marokkóban',
                 NL: 'Hollandiában',
+                PT: 'Portugáliában',
                 RO: 'Romániában',
                 RU: 'Oroszországban',
                 SE: 'Svájcban',

+ 1 - 0
dist/js/language/id_ID.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Maroko',
                 NL: 'Belanda',
+                PT: 'Portugal',
                 RO: 'Romania',
                 RU: 'Russia',
                 SE: 'Sweden',

+ 1 - 0
dist/js/language/it_IT.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Marocco',
                 NL: 'Paesi Bassi',
+                PT: 'Portogallo',
                 RO: 'Romania',
                 RU: 'Russia',
                 SE: 'Svezia',

+ 1 - 0
dist/js/language/ja_JP.js

@@ -355,6 +355,7 @@
                 IT: 'イタリア',
                 MA: 'モロッコ',
                 NL: 'オランダ',
+                PT: 'ポルトガル',
                 RO: 'ルーマニア',
                 RU: 'ロシア',
                 SE: 'スウェーデン',

+ 1 - 0
dist/js/language/nl_NL.js

@@ -355,6 +355,7 @@
                 IT: 'Italië',
                 MA: 'Marokko',
                 NL: 'Nederland',
+                PT: 'Portugal',
                 RO: 'Roemenië',
                 RU: 'Rusland',
                 SE: 'Zweden',

+ 1 - 0
dist/js/language/no_NO.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Marokko',
                 NL: 'Nederland',
+                PT: 'Portugal',
                 RO: 'Romania',
                 RU: 'Russland',
                 SE: 'Sverige',

+ 1 - 0
dist/js/language/pl_PL.js

@@ -355,6 +355,7 @@
                 IT: 'Włochy',
                 MA: 'Maroko',
                 NL: 'Holandia',
+                PT: 'Portugalia',
                 RO: 'Rumunia',
                 RU: 'Rosja',
                 SE: 'Szwecja',

+ 1 - 0
dist/js/language/pt_BR.js

@@ -355,6 +355,7 @@
                 IT: 'Itália',
                 MA: 'Marrocos',
                 NL: 'Holanda',
+                PT: 'Portugal',
                 RO: 'Roménia',
                 RU: 'Rússia',
                 SE: 'Suécia',

+ 1 - 0
dist/js/language/ro_RO.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Maroc',
                 NL: 'Olanda',
+                PT: 'Portugalia',
                 RO: 'Romania',
                 RU: 'Rusia',
                 SE: 'Suedia',

+ 1 - 0
dist/js/language/ru_RU.js

@@ -355,6 +355,7 @@
                 IT: 'Италии',
                 MA: 'Марокко',
                 NL: 'Нидерландах',
+                PT: 'Португалии',
                 RO: 'Румынии',
                 RU: 'России',
                 SE: 'Швеции',

+ 1 - 0
dist/js/language/sq_AL.js

@@ -355,6 +355,7 @@
                 IT: 'Itali',
                 MA: 'Marok',
                 NL: 'Hollandë',
+                PT: 'Portugali',
                 RO: 'Rumani',
                 RU: 'Rusi',
                 SE: 'Suedi',

+ 1 - 0
dist/js/language/sr_RS.js

@@ -355,6 +355,7 @@
                 IT: 'Italije',
                 MA: 'Maroka',
                 NL: 'Holandije',
+                PT: 'Portugala',
                 RO: 'Rumunije',
                 RU: 'Rusije',
                 SE: 'Švedske',

+ 1 - 0
dist/js/language/sv_SE.js

@@ -355,6 +355,7 @@
                 IT: 'Italien',
                 MA: 'Marocko',
                 NL: 'Nederländerna',
+                PT: 'Portugal',
                 RO: 'Rumänien',
                 RU: 'Ryssland',
                 SE: 'Sverige',

+ 1 - 0
dist/js/language/th_TH.js

@@ -355,6 +355,7 @@
                 IT: 'อิตาลี',
                 MA: 'โมร็อกโก',
                 NL: 'เนเธอร์แลนด์',
+                PT: 'โปรตุเกส',
                 RO: 'โรมาเนีย',
                 RU: 'รัสเซีย',
                 SE: 'สวีเดน',

+ 1 - 0
dist/js/language/tr_TR.js

@@ -355,6 +355,7 @@
                 IT: 'İtalya',
                 MA: 'Fas',
                 NL: 'Hollanda',
+                PT: 'Portekiz',
                 RO: 'Romanya',
                 RU: 'Rusya',
                 SE: 'İsveç',

+ 1 - 0
dist/js/language/ua_UA.js

@@ -355,6 +355,7 @@
                 IT: 'Італії',
                 MA: 'Марокко',
                 NL: 'Нідерландах',
+                PT: 'Португалії',
                 RO: 'Румунії',
                 RU: 'Росії',
                 SE: 'Швеції',

+ 1 - 0
dist/js/language/vi_VN.js

@@ -355,6 +355,7 @@
                 IT: 'Ý',
                 MA: 'Maroc',
                 NL: 'Hà Lan',
+                PT: 'Bồ Đào Nha',
                 RO: 'Romania',
                 RU: 'Nga',
                 SE: 'Thuỵ Sĩ',

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

@@ -355,6 +355,7 @@
                 IT: '意大利',
                 MA: '摩洛哥',
                 NL: '荷兰',
+                PT: '葡萄牙',
                 RO: '罗马尼亚',
                 RU: '俄罗斯',
                 SE: '瑞典',

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

@@ -355,6 +355,7 @@
                 IT: '意大利',
                 MA: '摩洛哥',
                 NL: '荷蘭',
+                PT: '葡萄牙',
                 RO: '羅馬尼亞',
                 RU: '俄羅斯',
                 SE: '瑞典',

+ 1 - 0
src/js/language/ar_MA.js

@@ -355,6 +355,7 @@
                 IT: 'إيطاليا',
                 MA: 'المغرب',
                 NL: 'هولندا',
+                PT: 'البرتغال',
                 RO: 'رومانيا',
                 RU: 'روسيا',
                 SE: 'السويد',

+ 1 - 0
src/js/language/be_FR.js

@@ -355,6 +355,7 @@
                 IT: 'Italie',
                 MA: 'Maroc',
                 NL: 'Pays-Bas',
+                PT: 'Portugal',
                 RO: 'Roumanie',
                 RU: 'Russie',
                 SE: 'Suède',

+ 1 - 0
src/js/language/be_NL.js

@@ -355,6 +355,7 @@
                 IT: 'Italië',
                 MA: 'Marokko',
                 NL: 'Nederland',
+                PT: 'Portugal',
                 RO: 'Roemenië',
                 RU: 'Rusland',
                 SE: 'Zweden',

+ 1 - 0
src/js/language/bg_BG.js

@@ -355,6 +355,7 @@
                 IT: 'Италия',
                 MA: 'Мароко',
                 NL: 'Холандия',
+                PT: 'Португалия',
                 RO: 'Румъния',
                 RU: 'Русия',
                 SE: 'Швеция',

+ 1 - 0
src/js/language/cs_CZ.js

@@ -355,6 +355,7 @@
                 IT: 'Itálie',
                 MA: 'Maroko',
                 NL: 'Nizozemí',
+                PT: 'Portugalsko',
                 RO: 'Rumunsko',
                 RU: 'Rusko',
                 SE: 'Švédsko',

+ 1 - 0
src/js/language/da_DK.js

@@ -355,6 +355,7 @@
                 IT: 'Italien',
                 MA: 'Marokko',
                 NL: 'Holland',
+                PT: 'Portugal',
                 RO: 'Rumænien',
                 RU: 'Rusland',
                 SE: 'Sverige',

+ 1 - 0
src/js/language/de_DE.js

@@ -355,6 +355,7 @@
                 IT: 'Italien',
                 MA: 'Marokko',
                 NL: 'Niederlande',
+                PT: 'Portugal',
                 RO: 'Rumänien',
                 RU: 'Russland',
                 SE: 'Schweden',

+ 1 - 0
src/js/language/en_US.js

@@ -355,6 +355,7 @@
                 IT: 'Italy',
                 MA: 'Morocco',
                 NL: 'Netherlands',
+                PT: 'Portugal',
                 RO: 'Romania',
                 RU: 'Russia',
                 SE: 'Sweden',

+ 1 - 0
src/js/language/es_CL.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Marruecos',
                 NL: 'Países Bajos',
+                PT: 'Portugal',
                 RO: 'Rumanía',
                 RU: 'Rusia',
                 SE: 'Suecia',

+ 1 - 0
src/js/language/es_ES.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Marruecos',
                 NL: 'Países Bajos',
+                PT: 'Portugal',
                 RO: 'Rumanía',
                 RU: 'Rusa',
                 SE: 'Suecia',

+ 1 - 0
src/js/language/fa_IR.js

@@ -355,6 +355,7 @@
                 IT: 'ایتالیا',
                 MA: 'مراکش',
                 NL: 'هلند',
+                PT: 'پرتغال',
                 RO: 'رومانی',
                 RU: 'روسیه',
                 SE: 'سوئد',

+ 1 - 0
src/js/language/fr_FR.js

@@ -355,6 +355,7 @@
                 IT: 'Italie',
                 MA: 'Maroc',
                 NL: 'Pays-Bas',
+                PT: 'Portugal',
                 RO: 'Roumanie',
                 RU: 'Russie',
                 SE: 'Suède',

+ 1 - 0
src/js/language/gr_EL.js

@@ -355,6 +355,7 @@
                 IT: 'Ιταλία',
                 MA: 'Μαρόκο',
                 NL: 'Ολλανδία',
+                PT: 'Πορτογαλία',
                 RO: 'Ρουμανία',
                 RU: 'Ρωσία',
                 SE: 'Σουηδία',

+ 1 - 0
src/js/language/he_IL.js

@@ -355,6 +355,7 @@
                 IT: 'איטליה',
                 MA: 'מרוקו',
                 NL: 'הולנד',
+                PT: 'פורטוגל',
                 RO: 'רומניה',
                 RU: 'רוסיה',
                 SE: 'שוודיה',

+ 1 - 0
src/js/language/hu_HU.js

@@ -355,6 +355,7 @@
                 IT: 'Olaszországban',
                 MA: 'Marokkóban',
                 NL: 'Hollandiában',
+                PT: 'Portugáliában',
                 RO: 'Romániában',
                 RU: 'Oroszországban',
                 SE: 'Svájcban',

+ 1 - 0
src/js/language/id_ID.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Maroko',
                 NL: 'Belanda',
+                PT: 'Portugal',
                 RO: 'Romania',
                 RU: 'Russia',
                 SE: 'Sweden',

+ 1 - 0
src/js/language/it_IT.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Marocco',
                 NL: 'Paesi Bassi',
+                PT: 'Portogallo',
                 RO: 'Romania',
                 RU: 'Russia',
                 SE: 'Svezia',

+ 1 - 0
src/js/language/ja_JP.js

@@ -355,6 +355,7 @@
                 IT: 'イタリア',
                 MA: 'モロッコ',
                 NL: 'オランダ',
+                PT: 'ポルトガル',
                 RO: 'ルーマニア',
                 RU: 'ロシア',
                 SE: 'スウェーデン',

+ 1 - 0
src/js/language/nl_NL.js

@@ -355,6 +355,7 @@
                 IT: 'Italië',
                 MA: 'Marokko',
                 NL: 'Nederland',
+                PT: 'Portugal',
                 RO: 'Roemenië',
                 RU: 'Rusland',
                 SE: 'Zweden',

+ 1 - 0
src/js/language/no_NO.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Marokko',
                 NL: 'Nederland',
+                PT: 'Portugal',
                 RO: 'Romania',
                 RU: 'Russland',
                 SE: 'Sverige',

+ 1 - 0
src/js/language/pl_PL.js

@@ -355,6 +355,7 @@
                 IT: 'Włochy',
                 MA: 'Maroko',
                 NL: 'Holandia',
+                PT: 'Portugalia',
                 RO: 'Rumunia',
                 RU: 'Rosja',
                 SE: 'Szwecja',

+ 1 - 0
src/js/language/pt_BR.js

@@ -355,6 +355,7 @@
                 IT: 'Itália',
                 MA: 'Marrocos',
                 NL: 'Holanda',
+                PT: 'Portugal',
                 RO: 'Roménia',
                 RU: 'Rússia',
                 SE: 'Suécia',

+ 1 - 0
src/js/language/ro_RO.js

@@ -355,6 +355,7 @@
                 IT: 'Italia',
                 MA: 'Maroc',
                 NL: 'Olanda',
+                PT: 'Portugalia',
                 RO: 'Romania',
                 RU: 'Rusia',
                 SE: 'Suedia',

+ 1 - 0
src/js/language/ru_RU.js

@@ -355,6 +355,7 @@
                 IT: 'Италии',
                 MA: 'Марокко',
                 NL: 'Нидерландах',
+                PT: 'Португалии',
                 RO: 'Румынии',
                 RU: 'России',
                 SE: 'Швеции',

+ 1 - 0
src/js/language/sq_AL.js

@@ -355,6 +355,7 @@
                 IT: 'Itali',
                 MA: 'Marok',
                 NL: 'Hollandë',
+                PT: 'Portugali',
                 RO: 'Rumani',
                 RU: 'Rusi',
                 SE: 'Suedi',

+ 1 - 0
src/js/language/sr_RS.js

@@ -355,6 +355,7 @@
                 IT: 'Italije',
                 MA: 'Maroka',
                 NL: 'Holandije',
+                PT: 'Portugala',
                 RO: 'Rumunije',
                 RU: 'Rusije',
                 SE: 'Švedske',

+ 1 - 0
src/js/language/sv_SE.js

@@ -355,6 +355,7 @@
                 IT: 'Italien',
                 MA: 'Marocko',
                 NL: 'Nederländerna',
+                PT: 'Portugal',
                 RO: 'Rumänien',
                 RU: 'Ryssland',
                 SE: 'Sverige',

+ 1 - 0
src/js/language/th_TH.js

@@ -355,6 +355,7 @@
                 IT: 'อิตาลี',
                 MA: 'โมร็อกโก',
                 NL: 'เนเธอร์แลนด์',
+                PT: 'โปรตุเกส',
                 RO: 'โรมาเนีย',
                 RU: 'รัสเซีย',
                 SE: 'สวีเดน',

+ 1 - 0
src/js/language/tr_TR.js

@@ -355,6 +355,7 @@
                 IT: 'İtalya',
                 MA: 'Fas',
                 NL: 'Hollanda',
+                PT: 'Portekiz',
                 RO: 'Romanya',
                 RU: 'Rusya',
                 SE: 'İsveç',

+ 1 - 0
src/js/language/ua_UA.js

@@ -355,6 +355,7 @@
                 IT: 'Італії',
                 MA: 'Марокко',
                 NL: 'Нідерландах',
+                PT: 'Португалії',
                 RO: 'Румунії',
                 RU: 'Росії',
                 SE: 'Швеції',

+ 1 - 0
src/js/language/vi_VN.js

@@ -355,6 +355,7 @@
                 IT: 'Ý',
                 MA: 'Maroc',
                 NL: 'Hà Lan',
+                PT: 'Bồ Đào Nha',
                 RO: 'Romania',
                 RU: 'Nga',
                 SE: 'Thuỵ Sĩ',

+ 1 - 0
src/js/language/zh_CN.js

@@ -355,6 +355,7 @@
                 IT: '意大利',
                 MA: '摩洛哥',
                 NL: '荷兰',
+                PT: '葡萄牙',
                 RO: '罗马尼亚',
                 RU: '俄罗斯',
                 SE: '瑞典',

+ 1 - 0
src/js/language/zh_TW.js

@@ -355,6 +355,7 @@
                 IT: '意大利',
                 MA: '摩洛哥',
                 NL: '荷蘭',
+                PT: '葡萄牙',
                 RO: '羅馬尼亞',
                 RU: '俄羅斯',
                 SE: '瑞典',

+ 23 - 0
test/spec.js

@@ -7625,6 +7625,7 @@ describe('zipCode', function() {
                             '<option value="IE">Ireland</option>',
                             '<option value="IT">Italy</option>',
                             '<option value="NL">Netherlands</option>',
+                            '<option value="PT">Portugal</option>',
                             '<option value="SE">Sweden</option>',
                             '<option value="SK">Slovakia</option>',
                             '<option value="US">United States</option>',
@@ -7889,4 +7890,26 @@ describe('zipCode', function() {
             expect(this.bv.isValid()).toEqual(false);
         }
     });
+    
+    it('Portugal postal code', function() {
+        this.bv.updateOption('zc', 'zipCode', 'country', 'PT');
+
+        // Valid samples
+        var validSamples = ['2435-459', '1000-000', '1234-456'];
+        for (var i in validSamples) {
+            this.bv.resetForm();
+            this.$zipCode.val(validSamples[i]);
+            this.bv.validate();
+            expect(this.bv.isValid()).toBeTruthy();
+        }
+
+        // Invalid samples
+        var invalidSamples = ['0123-456', '1234456', '1234-ABC', '1234 456'];
+        for (i in invalidSamples) {
+            this.bv.resetForm();
+            this.$zipCode.val(invalidSamples[i]);
+            this.bv.validate();
+            expect(this.bv.isValid()).toEqual(false);
+        }
+    });
 });