Skip to content

Commit c6a4fb6

Browse files
authored
Fix 1502 update ccy codes (#1503)
## Fixes Or Enhances Fixes #1502 These are new currencies added to ISO 4217 that are not yet in currency_codes.go: - VED - Venezuelan Bolívar Digital (new currency added to ISO 4217) - XCG - Caribbean Guilder (for Curaçao and Sint Maarten, replacing ANG) - ZWG - Zimbabwe Gold (new gold-backed currency, added 2024) In File but Not in Current ISO 4217 (4 codes) These are obsolete currencies that have been withdrawn: - ANG - Netherlands Antillean Guilder (withdrawn 2025-03, replaced by XCG) - CUC - Cuban Convertible Peso (withdrawn 2021-06, replaced by CUP) - HRK - Croatian Kuna (withdrawn 2023-01, replaced by EUR) - ZWL - Zimbabwean Dollar (withdrawn 2024-09, replaced by ZWG) **Make sure that you've checked the boxes below before you submit PR:** - [x] Tests exist or have been written that cover this particular change. @go-playground/validator-maintainers
1 parent 80b6d11 commit c6a4fb6

File tree

2 files changed

+71
-58
lines changed

2 files changed

+71
-58
lines changed

currency_codes.go

Lines changed: 58 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -10,33 +10,33 @@ var iso4217 = map[string]struct{}{
1010
"BIF": {}, "CVE": {}, "KHR": {}, "XAF": {}, "CAD": {},
1111
"KYD": {}, "CLP": {}, "CLF": {}, "CNY": {}, "COP": {},
1212
"COU": {}, "KMF": {}, "CDF": {}, "NZD": {}, "CRC": {},
13-
"HRK": {}, "CUP": {}, "CUC": {}, "ANG": {}, "CZK": {},
14-
"DKK": {}, "DJF": {}, "DOP": {}, "EGP": {}, "SVC": {},
15-
"ERN": {}, "SZL": {}, "ETB": {}, "FKP": {}, "FJD": {},
16-
"XPF": {}, "GMD": {}, "GEL": {}, "GHS": {}, "GIP": {},
17-
"GTQ": {}, "GBP": {}, "GNF": {}, "GYD": {}, "HTG": {},
18-
"HNL": {}, "HKD": {}, "HUF": {}, "ISK": {}, "IDR": {},
19-
"XDR": {}, "IRR": {}, "IQD": {}, "ILS": {}, "JMD": {},
20-
"JPY": {}, "JOD": {}, "KZT": {}, "KES": {}, "KPW": {},
21-
"KRW": {}, "KWD": {}, "KGS": {}, "LAK": {}, "LBP": {},
22-
"LSL": {}, "ZAR": {}, "LRD": {}, "LYD": {}, "CHF": {},
23-
"MOP": {}, "MKD": {}, "MGA": {}, "MWK": {}, "MYR": {},
24-
"MVR": {}, "MRU": {}, "MUR": {}, "XUA": {}, "MXN": {},
25-
"MXV": {}, "MDL": {}, "MNT": {}, "MAD": {}, "MZN": {},
26-
"MMK": {}, "NAD": {}, "NPR": {}, "NIO": {}, "NGN": {},
27-
"OMR": {}, "PKR": {}, "PAB": {}, "PGK": {}, "PYG": {},
28-
"PEN": {}, "PHP": {}, "PLN": {}, "QAR": {}, "RON": {},
29-
"RUB": {}, "RWF": {}, "SHP": {}, "WST": {}, "STN": {},
30-
"SAR": {}, "RSD": {}, "SCR": {}, "SLE": {}, "SGD": {},
31-
"XSU": {}, "SBD": {}, "SOS": {}, "SSP": {}, "LKR": {},
32-
"SDG": {}, "SRD": {}, "SEK": {}, "CHE": {}, "CHW": {},
33-
"SYP": {}, "TWD": {}, "TJS": {}, "TZS": {}, "THB": {},
34-
"TOP": {}, "TTD": {}, "TND": {}, "TRY": {}, "TMT": {},
35-
"UGX": {}, "UAH": {}, "AED": {}, "USN": {}, "UYU": {},
36-
"UYI": {}, "UYW": {}, "UZS": {}, "VUV": {}, "VES": {},
37-
"VND": {}, "YER": {}, "ZMW": {}, "ZWL": {}, "XBA": {},
38-
"XBB": {}, "XBC": {}, "XBD": {}, "XTS": {}, "XXX": {},
39-
"XAU": {}, "XPD": {}, "XPT": {}, "XAG": {},
13+
"CUP": {}, "CZK": {}, "DKK": {}, "DJF": {}, "DOP": {},
14+
"EGP": {}, "SVC": {}, "ERN": {}, "SZL": {}, "ETB": {},
15+
"FKP": {}, "FJD": {}, "XPF": {}, "GMD": {}, "GEL": {},
16+
"GHS": {}, "GIP": {}, "GTQ": {}, "GBP": {}, "GNF": {},
17+
"GYD": {}, "HTG": {}, "HNL": {}, "HKD": {}, "HUF": {},
18+
"ISK": {}, "IDR": {}, "XDR": {}, "IRR": {}, "IQD": {},
19+
"ILS": {}, "JMD": {}, "JPY": {}, "JOD": {}, "KZT": {},
20+
"KES": {}, "KPW": {}, "KRW": {}, "KWD": {}, "KGS": {},
21+
"LAK": {}, "LBP": {}, "LSL": {}, "ZAR": {}, "LRD": {},
22+
"LYD": {}, "CHF": {}, "MOP": {}, "MKD": {}, "MGA": {},
23+
"MWK": {}, "MYR": {}, "MVR": {}, "MRU": {}, "MUR": {},
24+
"XUA": {}, "MXN": {}, "MXV": {}, "MDL": {}, "MNT": {},
25+
"MAD": {}, "MZN": {}, "MMK": {}, "NAD": {}, "NPR": {},
26+
"NIO": {}, "NGN": {}, "OMR": {}, "PKR": {}, "PAB": {},
27+
"PGK": {}, "PYG": {}, "PEN": {}, "PHP": {}, "PLN": {},
28+
"QAR": {}, "RON": {}, "RUB": {}, "RWF": {}, "SHP": {},
29+
"WST": {}, "STN": {}, "SAR": {}, "RSD": {}, "SCR": {},
30+
"SLE": {}, "SGD": {}, "XSU": {}, "SBD": {}, "SOS": {},
31+
"SSP": {}, "LKR": {}, "SDG": {}, "SRD": {}, "SEK": {},
32+
"CHE": {}, "CHW": {}, "SYP": {}, "TWD": {}, "TJS": {},
33+
"TZS": {}, "THB": {}, "TOP": {}, "TTD": {}, "TND": {},
34+
"TRY": {}, "TMT": {}, "UGX": {}, "UAH": {}, "AED": {},
35+
"USN": {}, "UYU": {}, "UYI": {}, "UYW": {}, "UZS": {},
36+
"VUV": {}, "VES": {}, "VED": {}, "VND": {}, "YER": {},
37+
"ZMW": {}, "ZWG": {}, "XBA": {}, "XBB": {}, "XBC": {},
38+
"XBD": {}, "XCG": {}, "XTS": {}, "XXX": {}, "XAU": {},
39+
"XPD": {}, "XPT": {}, "XAG": {},
4040
}
4141

4242
var iso4217_numeric = map[int]struct{}{
@@ -45,35 +45,35 @@ var iso4217_numeric = map[int]struct{}{
4545
64: {}, 68: {}, 72: {}, 84: {}, 90: {},
4646
96: {}, 104: {}, 108: {}, 116: {}, 124: {},
4747
132: {}, 136: {}, 144: {}, 152: {}, 156: {},
48-
170: {}, 174: {}, 188: {}, 191: {}, 192: {},
49-
203: {}, 208: {}, 214: {}, 222: {}, 230: {},
50-
232: {}, 238: {}, 242: {}, 262: {}, 270: {},
51-
292: {}, 320: {}, 324: {}, 328: {}, 332: {},
52-
340: {}, 344: {}, 348: {}, 352: {}, 356: {},
53-
360: {}, 364: {}, 368: {}, 376: {}, 388: {},
54-
392: {}, 398: {}, 400: {}, 404: {}, 408: {},
55-
410: {}, 414: {}, 417: {}, 418: {}, 422: {},
56-
426: {}, 430: {}, 434: {}, 446: {}, 454: {},
57-
458: {}, 462: {}, 480: {}, 484: {}, 496: {},
58-
498: {}, 504: {}, 512: {}, 516: {}, 524: {},
59-
532: {}, 533: {}, 548: {}, 554: {}, 558: {},
60-
566: {}, 578: {}, 586: {}, 590: {}, 598: {},
61-
600: {}, 604: {}, 608: {}, 634: {}, 643: {},
62-
646: {}, 654: {}, 682: {}, 690: {}, 925: {},
63-
702: {}, 704: {}, 706: {}, 710: {}, 728: {},
64-
748: {}, 752: {}, 756: {}, 760: {}, 764: {},
65-
776: {}, 780: {}, 784: {}, 788: {}, 800: {},
66-
807: {}, 818: {}, 826: {}, 834: {}, 840: {},
67-
858: {}, 860: {}, 882: {}, 886: {}, 901: {},
68-
927: {}, 928: {}, 929: {}, 930: {}, 931: {},
69-
932: {}, 933: {}, 934: {}, 936: {}, 938: {},
70-
940: {}, 941: {}, 943: {}, 944: {}, 946: {},
71-
947: {}, 948: {}, 949: {}, 950: {}, 951: {},
72-
952: {}, 953: {}, 955: {}, 956: {}, 957: {},
73-
958: {}, 959: {}, 960: {}, 961: {}, 962: {},
74-
963: {}, 964: {}, 965: {}, 967: {}, 968: {},
75-
969: {}, 970: {}, 971: {}, 972: {}, 973: {},
76-
975: {}, 976: {}, 977: {}, 978: {}, 979: {},
77-
980: {}, 981: {}, 984: {}, 985: {}, 986: {},
78-
990: {}, 994: {}, 997: {}, 999: {},
48+
170: {}, 174: {}, 188: {}, 192: {}, 203: {},
49+
208: {}, 214: {}, 222: {}, 230: {}, 232: {},
50+
238: {}, 242: {}, 262: {}, 270: {}, 292: {},
51+
320: {}, 324: {}, 328: {}, 332: {}, 340: {},
52+
344: {}, 348: {}, 352: {}, 356: {}, 360: {},
53+
364: {}, 368: {}, 376: {}, 388: {}, 392: {},
54+
398: {}, 400: {}, 404: {}, 408: {}, 410: {},
55+
414: {}, 417: {}, 418: {}, 422: {}, 426: {},
56+
430: {}, 434: {}, 446: {}, 454: {}, 458: {},
57+
462: {}, 480: {}, 484: {}, 496: {}, 498: {},
58+
504: {}, 512: {}, 516: {}, 524: {}, 532: {},
59+
533: {}, 548: {}, 554: {}, 558: {}, 566: {},
60+
578: {}, 586: {}, 590: {}, 598: {}, 600: {},
61+
604: {}, 608: {}, 634: {}, 643: {}, 646: {},
62+
654: {}, 682: {}, 690: {}, 702: {}, 704: {},
63+
706: {}, 710: {}, 728: {}, 748: {}, 752: {},
64+
756: {}, 760: {}, 764: {}, 776: {}, 780: {},
65+
784: {}, 788: {}, 800: {}, 807: {}, 818: {},
66+
826: {}, 834: {}, 840: {}, 858: {}, 860: {},
67+
882: {}, 886: {}, 901: {}, 924: {}, 925: {},
68+
926: {}, 927: {}, 928: {}, 929: {}, 930: {},
69+
933: {}, 934: {}, 936: {}, 938: {}, 940: {},
70+
941: {}, 943: {}, 944: {}, 946: {}, 947: {},
71+
948: {}, 949: {}, 950: {}, 951: {}, 952: {},
72+
953: {}, 955: {}, 956: {}, 957: {}, 958: {},
73+
959: {}, 960: {}, 961: {}, 962: {}, 963: {},
74+
964: {}, 965: {}, 967: {}, 968: {}, 969: {},
75+
970: {}, 971: {}, 972: {}, 973: {}, 975: {},
76+
976: {}, 977: {}, 978: {}, 979: {}, 980: {},
77+
981: {}, 984: {}, 985: {}, 986: {}, 990: {},
78+
994: {}, 997: {}, 999: {},
7979
}

validator_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13064,6 +13064,13 @@ func TestIsIso4217Validation(t *testing.T) {
1306413064
{"USA", false},
1306513065
{"SLE", true},
1306613066
{"SLL", false},
13067+
{"VED", true},
13068+
{"XCG", true},
13069+
{"ZWG", true},
13070+
{"ANG", false},
13071+
{"CUC", false},
13072+
{"HRK", false},
13073+
{"ZWL", false},
1306713074
}
1306813075

1306913076
validate := New()
@@ -13093,6 +13100,12 @@ func TestIsIso4217NumericValidation(t *testing.T) {
1309313100
{13, false},
1309413101
{925, true},
1309513102
{694, false},
13103+
{924, true},
13104+
{926, true},
13105+
{532, true},
13106+
{191, false},
13107+
{931, false},
13108+
{932, false},
1309613109
}
1309713110

1309813111
validate := New()

0 commit comments

Comments
 (0)