@hy_ong/zod-kit 0.1.16 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +142 -0
- package/dist/index.cjs +1660 -4
- package/dist/index.d.cts +18 -18
- package/dist/index.d.ts +18 -18
- package/dist/index.js +1660 -4
- package/package.json +1 -1
- package/src/config.ts +2 -2
- package/src/i18n/index.ts +18 -2
- package/src/i18n/locales/en-GB.json +204 -0
- package/src/i18n/locales/id-ID.json +204 -0
- package/src/i18n/locales/ja-JP.json +204 -0
- package/src/i18n/locales/ko-KR.json +204 -0
- package/src/i18n/locales/ms-MY.json +204 -0
- package/src/i18n/locales/th-TH.json +204 -0
- package/src/i18n/locales/vi-VN.json +204 -0
- package/src/i18n/locales/zh-CN.json +204 -0
- package/src/validators/common/boolean.ts +1 -1
- package/src/validators/common/date.ts +1 -1
- package/src/validators/common/datetime.ts +1 -1
- package/src/validators/common/email.ts +1 -1
- package/src/validators/common/file.ts +1 -1
- package/src/validators/common/id.ts +1 -1
- package/src/validators/common/number.ts +1 -1
- package/src/validators/common/password.ts +1 -1
- package/src/validators/common/text.ts +1 -1
- package/src/validators/common/time.ts +1 -1
- package/src/validators/common/url.ts +1 -1
- package/src/validators/taiwan/business-id.ts +1 -1
- package/src/validators/taiwan/fax.ts +1 -1
- package/src/validators/taiwan/mobile.ts +1 -1
- package/src/validators/taiwan/national-id.ts +1 -1
- package/src/validators/taiwan/postal-code.ts +1 -1
- package/src/validators/taiwan/tel.ts +1 -1
- package/tests/common/boolean.test.ts +6 -6
- package/tests/common/date.test.ts +8 -8
- package/tests/common/datetime.test.ts +7 -7
- package/tests/common/email.test.ts +6 -6
- package/tests/common/file.test.ts +6 -6
- package/tests/common/id.test.ts +5 -5
- package/tests/common/number.test.ts +6 -6
- package/tests/common/password.test.ts +5 -5
- package/tests/common/text.test.ts +7 -7
- package/tests/common/time.test.ts +7 -7
- package/tests/common/url.test.ts +10 -10
- package/tests/taiwan/business-id.test.ts +4 -4
- package/tests/taiwan/fax.test.ts +7 -7
- package/tests/taiwan/mobile.test.ts +7 -7
- package/tests/taiwan/national-id.test.ts +4 -4
- package/tests/taiwan/postal-code.test.ts +6 -6
- package/tests/taiwan/tel.test.ts +7 -7
- /package/src/i18n/locales/{en.json → en-US.json} +0 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"boolean": {
|
|
4
|
+
"required": "จำเป็นต้องกรอก",
|
|
5
|
+
"shouldBeTrue": "ต้องเป็น True",
|
|
6
|
+
"shouldBeFalse": "ต้องเป็น False",
|
|
7
|
+
"invalid": "ต้องเป็นค่าบูลีน"
|
|
8
|
+
},
|
|
9
|
+
"email": {
|
|
10
|
+
"required": "จำเป็นต้องกรอก",
|
|
11
|
+
"invalid": "รูปแบบอีเมลไม่ถูกต้อง",
|
|
12
|
+
"minLength": "ต้องมีอย่างน้อย ${minLength} ตัวอักษร",
|
|
13
|
+
"maxLength": "ต้องไม่เกิน ${maxLength} ตัวอักษร",
|
|
14
|
+
"includes": "ต้องมี ${includes}",
|
|
15
|
+
"domain": "ต้องเป็นโดเมน: ${domain}",
|
|
16
|
+
"domainBlacklist": "โดเมน ${domain} ไม่ได้รับอนุญาต",
|
|
17
|
+
"businessOnly": "อนุญาตเฉพาะอีเมลธุรกิจเท่านั้น",
|
|
18
|
+
"noDisposable": "ไม่อนุญาตอีเมลแบบใช้แล้วทิ้ง"
|
|
19
|
+
},
|
|
20
|
+
"url": {
|
|
21
|
+
"required": "จำเป็นต้องกรอก",
|
|
22
|
+
"invalid": "รูปแบบ URL ไม่ถูกต้อง",
|
|
23
|
+
"min": "ต้องมีอย่างน้อย ${min} ตัวอักษร",
|
|
24
|
+
"max": "ต้องไม่เกิน ${max} ตัวอักษร",
|
|
25
|
+
"includes": "ต้องมี ${includes}",
|
|
26
|
+
"excludes": "ต้องไม่มี ${excludes}",
|
|
27
|
+
"protocol": "โปรโตคอลต้องเป็นหนึ่งใน: ${protocols}",
|
|
28
|
+
"domain": "โดเมนต้องเป็นหนึ่งใน: ${domains}",
|
|
29
|
+
"domainBlacklist": "โดเมน ${domain} ไม่ได้รับอนุญาต",
|
|
30
|
+
"port": "พอร์ตต้องเป็นหนึ่งใน: ${ports}",
|
|
31
|
+
"pathStartsWith": "เส้นทางต้องเริ่มต้นด้วย ${path}",
|
|
32
|
+
"pathEndsWith": "เส้นทางต้องลงท้ายด้วย ${path}",
|
|
33
|
+
"hasQuery": "URL ต้องมีพารามิเตอร์ query",
|
|
34
|
+
"noQuery": "URL ต้องไม่มีพารามิเตอร์ query",
|
|
35
|
+
"hasFragment": "URL ต้องมี fragment",
|
|
36
|
+
"noFragment": "URL ต้องไม่มี fragment",
|
|
37
|
+
"localhost": "ไม่อนุญาต URL localhost",
|
|
38
|
+
"noLocalhost": "ไม่อนุญาต URL localhost"
|
|
39
|
+
},
|
|
40
|
+
"password": {
|
|
41
|
+
"required": "จำเป็นต้องกรอก",
|
|
42
|
+
"min": "ต้องมีอย่างน้อย ${min} ตัวอักษร",
|
|
43
|
+
"max": "ต้องไม่เกิน ${max} ตัวอักษร",
|
|
44
|
+
"uppercase": "ต้องมีตัวพิมพ์ใหญ่อย่างน้อย 1 ตัว",
|
|
45
|
+
"lowercase": "ต้องมีตัวพิมพ์เล็กอย่างน้อย 1 ตัว",
|
|
46
|
+
"digits": "ต้องมีตัวเลขอย่างน้อย 1 ตัว",
|
|
47
|
+
"special": "ต้องมีอักขระพิเศษอย่างน้อย 1 ตัว",
|
|
48
|
+
"noRepeating": "ต้องไม่มีตัวอักษรซ้ำ",
|
|
49
|
+
"noSequential": "ต้องไม่มีตัวอักษรต่อเนื่อง",
|
|
50
|
+
"noCommonWords": "ต้องไม่มีคำหรือรูปแบบทั่วไป",
|
|
51
|
+
"minStrength": "ความแข็งแกร่งของรหัสผ่านต้องอย่างน้อย ${minStrength}",
|
|
52
|
+
"excludes": "ต้องไม่มี ${excludes}",
|
|
53
|
+
"includes": "ต้องมี ${includes}",
|
|
54
|
+
"invalid": "รูปแบบรหัสผ่านไม่ถูกต้อง"
|
|
55
|
+
},
|
|
56
|
+
"number": {
|
|
57
|
+
"required": "จำเป็นต้องกรอก",
|
|
58
|
+
"invalid": "ต้องเป็นตัวเลขที่ถูกต้อง",
|
|
59
|
+
"integer": "ต้องเป็นจำนวนเต็ม",
|
|
60
|
+
"float": "ต้องเป็นจำนวนทศนิยม",
|
|
61
|
+
"min": "ต้องมีค่าอย่างน้อย ${min}",
|
|
62
|
+
"max": "ต้องมีค่าไม่เกิน ${max}",
|
|
63
|
+
"positive": "ต้องเป็นจำนวนบวก",
|
|
64
|
+
"negative": "ต้องเป็นจำนวนลบ",
|
|
65
|
+
"nonNegative": "ต้องไม่เป็นจำนวนลบ",
|
|
66
|
+
"nonPositive": "ต้องไม่เป็นจำนวนบวก",
|
|
67
|
+
"multipleOf": "ต้องเป็นตัวคูณของ ${multipleOf}",
|
|
68
|
+
"finite": "ต้องเป็นจำนวนจำกัด",
|
|
69
|
+
"precision": "ต้องมีทศนิยมไม่เกิน ${precision} ตำแหน่ง"
|
|
70
|
+
},
|
|
71
|
+
"id": {
|
|
72
|
+
"required": "จำเป็นต้องกรอก",
|
|
73
|
+
"invalid": "รูปแบบ ID ไม่ถูกต้อง",
|
|
74
|
+
"minLength": "ต้องมีอย่างน้อย ${minLength} ตัวอักษร",
|
|
75
|
+
"maxLength": "ต้องไม่เกิน ${maxLength} ตัวอักษร",
|
|
76
|
+
"numeric": "ต้องเป็น ID ตัวเลข",
|
|
77
|
+
"uuid": "ต้องเป็น UUID ที่ถูกต้อง",
|
|
78
|
+
"objectId": "ต้องเป็น MongoDB ObjectId ที่ถูกต้อง",
|
|
79
|
+
"nanoid": "ต้องเป็น Nano ID ที่ถูกต้อง",
|
|
80
|
+
"snowflake": "ต้องเป็น Snowflake ID ที่ถูกต้อง",
|
|
81
|
+
"cuid": "ต้องเป็น CUID ที่ถูกต้อง",
|
|
82
|
+
"ulid": "ต้องเป็น ULID ที่ถูกต้อง",
|
|
83
|
+
"shortid": "ต้องเป็น Short ID ที่ถูกต้อง",
|
|
84
|
+
"customFormat": "รูปแบบ ID ไม่ถูกต้อง",
|
|
85
|
+
"includes": "ต้องมี ${includes}",
|
|
86
|
+
"excludes": "ต้องไม่มี ${excludes}",
|
|
87
|
+
"startsWith": "ต้องเริ่มต้นด้วย ${startsWith}",
|
|
88
|
+
"endsWith": "ต้องลงท้ายด้วย ${endsWith}"
|
|
89
|
+
},
|
|
90
|
+
"text": {
|
|
91
|
+
"required": "จำเป็นต้องกรอก",
|
|
92
|
+
"notEmpty": "ต้องไม่เว้นว่างหรือมีแต่ช่องว่าง",
|
|
93
|
+
"minLength": "ต้องมีอย่างน้อย ${minLength} ตัวอักษร",
|
|
94
|
+
"maxLength": "ต้องไม่เกิน ${maxLength} ตัวอักษร",
|
|
95
|
+
"startsWith": "ต้องเริ่มต้นด้วย ${startsWith}",
|
|
96
|
+
"endsWith": "ต้องลงท้ายด้วย ${endsWith}",
|
|
97
|
+
"includes": "ต้องมี ${includes}",
|
|
98
|
+
"excludes": "ต้องไม่มี ${excludes}",
|
|
99
|
+
"invalid": "รูปแบบไม่ถูกต้อง"
|
|
100
|
+
},
|
|
101
|
+
"date": {
|
|
102
|
+
"required": "จำเป็นต้องกรอก",
|
|
103
|
+
"invalid": "วันที่ไม่ถูกต้อง",
|
|
104
|
+
"format": "ต้องอยู่ในรูปแบบ ${format}",
|
|
105
|
+
"min": "วันที่ต้องเป็นวันที่ ${min} หรือหลังจากนั้น",
|
|
106
|
+
"max": "วันที่ต้องเป็นวันที่ ${max} หรือก่อนหน้านั้น",
|
|
107
|
+
"includes": "ต้องมี ${includes}",
|
|
108
|
+
"excludes": "ต้องไม่มี ${excludes}",
|
|
109
|
+
"past": "วันที่ต้องเป็นอดีต",
|
|
110
|
+
"future": "วันที่ต้องเป็นอนาคต",
|
|
111
|
+
"today": "วันที่ต้องเป็นวันนี้",
|
|
112
|
+
"notToday": "วันที่ต้องไม่ใช่วันนี้",
|
|
113
|
+
"weekday": "วันที่ต้องเป็นวันทำงาน (จันทร์-ศุกร์)",
|
|
114
|
+
"weekend": "วันที่ต้องเป็นวันหยุดสุดสัปดาห์ (เสาร์-อาทิตย์)"
|
|
115
|
+
},
|
|
116
|
+
"time": {
|
|
117
|
+
"required": "จำเป็นต้องกรอก",
|
|
118
|
+
"invalid": "รูปแบบเวลาไม่ถูกต้อง",
|
|
119
|
+
"format": "ต้องอยู่ในรูปแบบ ${format}",
|
|
120
|
+
"min": "เวลาต้องหลัง ${min}",
|
|
121
|
+
"max": "เวลาต้องก่อน ${max}",
|
|
122
|
+
"hour": "ชั่วโมงต้องอยู่ระหว่าง ${minHour} ถึง ${maxHour}",
|
|
123
|
+
"minute": "นาทีต้องเป็นช่วง ${minuteStep} นาที",
|
|
124
|
+
"second": "วินาทีต้องเป็นช่วง ${secondStep} วินาที",
|
|
125
|
+
"includes": "ต้องมี ${includes}",
|
|
126
|
+
"excludes": "ต้องไม่มี ${excludes}",
|
|
127
|
+
"customRegex": "รูปแบบเวลาไม่ถูกต้อง",
|
|
128
|
+
"notInWhitelist": "เวลาไม่อยู่ในรายการที่อนุญาต"
|
|
129
|
+
},
|
|
130
|
+
"datetime": {
|
|
131
|
+
"required": "จำเป็นต้องกรอก",
|
|
132
|
+
"invalid": "รูปแบบวันที่เวลาไม่ถูกต้อง",
|
|
133
|
+
"format": "ต้องอยู่ในรูปแบบ ${format}",
|
|
134
|
+
"min": "วันที่เวลาต้องหลัง ${min}",
|
|
135
|
+
"max": "วันที่เวลาต้องก่อน ${max}",
|
|
136
|
+
"hour": "ชั่วโมงต้องอยู่ระหว่าง ${minHour} ถึง ${maxHour}",
|
|
137
|
+
"minute": "นาทีต้องเป็นช่วง ${minuteStep} นาที",
|
|
138
|
+
"includes": "ต้องมี ${includes}",
|
|
139
|
+
"excludes": "ต้องไม่มี ${excludes}",
|
|
140
|
+
"past": "วันที่เวลาต้องเป็นอดีต",
|
|
141
|
+
"future": "วันที่เวลาต้องเป็นอนาคต",
|
|
142
|
+
"today": "วันที่เวลาต้องเป็นวันนี้",
|
|
143
|
+
"notToday": "วันที่เวลาต้องไม่ใช่วันนี้",
|
|
144
|
+
"weekday": "วันที่เวลาต้องเป็นวันทำงาน (จันทร์-ศุกร์)",
|
|
145
|
+
"weekend": "วันที่เวลาต้องเป็นวันหยุดสุดสัปดาห์ (เสาร์-อาทิตย์)",
|
|
146
|
+
"customRegex": "รูปแบบวันที่เวลาไม่ถูกต้อง",
|
|
147
|
+
"notInWhitelist": "วันที่เวลาไม่อยู่ในรายการที่อนุญาต"
|
|
148
|
+
},
|
|
149
|
+
"file": {
|
|
150
|
+
"required": "จำเป็นต้องกรอก",
|
|
151
|
+
"invalid": "รูปแบบไฟล์ไม่ถูกต้อง",
|
|
152
|
+
"size": "ขนาดไฟล์ต้องไม่เกิน ${size}",
|
|
153
|
+
"minSize": "ขนาดไฟล์ต้องอย่างน้อย ${minSize}",
|
|
154
|
+
"maxSize": "ขนาดไฟล์ต้องไม่เกิน ${maxSize}",
|
|
155
|
+
"type": "ประเภทไฟล์ต้องเป็นหนึ่งใน: ${type}",
|
|
156
|
+
"extension": "นามสกุลไฟล์ต้องเป็นหนึ่งใน: ${extension}",
|
|
157
|
+
"extensionBlacklist": "นามสกุลไฟล์ ${extension} ไม่ได้รับอนุญาต",
|
|
158
|
+
"name": "ชื่อไฟล์ต้องตรงกับรูปแบบ ${pattern}",
|
|
159
|
+
"nameBlacklist": "ชื่อไฟล์ต้องไม่ตรงกับรูปแบบ ${pattern}",
|
|
160
|
+
"imageOnly": "อนุญาตเฉพาะไฟล์รูปภาพ",
|
|
161
|
+
"documentOnly": "อนุญาตเฉพาะไฟล์เอกสาร",
|
|
162
|
+
"videoOnly": "อนุญาตเฉพาะไฟล์วิดีโอ",
|
|
163
|
+
"audioOnly": "อนุญาตเฉพาะไฟล์เสียง",
|
|
164
|
+
"archiveOnly": "อนุญาตเฉพาะไฟล์บีบอัด"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"taiwan": {
|
|
168
|
+
"businessId": {
|
|
169
|
+
"required": "จำเป็นต้องกรอก",
|
|
170
|
+
"invalid": "เลขประจำตัวธุรกิจไต้หวันไม่ถูกต้อง"
|
|
171
|
+
},
|
|
172
|
+
"nationalId": {
|
|
173
|
+
"required": "จำเป็นต้องกรอก",
|
|
174
|
+
"invalid": "เลขประจำตัวประชาชนไต้หวันไม่ถูกต้อง"
|
|
175
|
+
},
|
|
176
|
+
"mobile": {
|
|
177
|
+
"required": "จำเป็นต้องกรอก",
|
|
178
|
+
"invalid": "รูปแบบโทรศัพท์มือถือไต้หวันไม่ถูกต้อง",
|
|
179
|
+
"notInWhitelist": "ไม่อยู่ในรายการโทรศัพท์มือถือที่อนุญาต"
|
|
180
|
+
},
|
|
181
|
+
"tel": {
|
|
182
|
+
"required": "จำเป็นต้องกรอก",
|
|
183
|
+
"invalid": "รูปแบบโทรศัพท์บ้านไต้หวันไม่ถูกต้อง",
|
|
184
|
+
"notInWhitelist": "ไม่อยู่ในรายการโทรศัพท์บ้านที่อนุญาต"
|
|
185
|
+
},
|
|
186
|
+
"fax": {
|
|
187
|
+
"required": "จำเป็นต้องกรอก",
|
|
188
|
+
"invalid": "รูปแบบแฟกซ์ไต้หวันไม่ถูกต้อง",
|
|
189
|
+
"notInWhitelist": "ไม่อยู่ในรายการแฟกซ์ที่อนุญาต"
|
|
190
|
+
},
|
|
191
|
+
"postalCode": {
|
|
192
|
+
"required": "จำเป็นต้องกรอก",
|
|
193
|
+
"invalid": "รหัสไปรษณีย์ไต้หวันไม่ถูกต้อง",
|
|
194
|
+
"invalidFormat": "รูปแบบรหัสไปรษณีย์ไม่ถูกต้อง",
|
|
195
|
+
"invalidRange": "รหัสไปรษณีย์อยู่นอกช่วงที่ถูกต้อง",
|
|
196
|
+
"legacy5DigitWarning": "รหัสไปรษณีย์ 5 หลักเป็นรูปแบบเก่า แนะนำให้ใช้รูปแบบ 6 หลัก",
|
|
197
|
+
"format3Only": "อนุญาตเฉพาะรหัสไปรษณีย์ 3 หลัก",
|
|
198
|
+
"format5Only": "อนุญาตเฉพาะรหัสไปรษณีย์ 5 หลัก",
|
|
199
|
+
"format6Only": "อนุญาตเฉพาะรหัสไปรษณีย์ 6 หลัก",
|
|
200
|
+
"invalidSuffix": "ส่วนท้ายรหัสไปรษณีย์ไม่ถูกต้อง - 5 หลักต้องเป็น 01-99 หรือ 6 หลักต้องเป็น 001-999",
|
|
201
|
+
"deprecated5Digit": "รหัสไปรษณีย์ 5 หลักถูกยกเลิกและไม่รองรับอีกต่อไป"
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"boolean": {
|
|
4
|
+
"required": "Bắt buộc",
|
|
5
|
+
"shouldBeTrue": "Phải là True",
|
|
6
|
+
"shouldBeFalse": "Phải là False",
|
|
7
|
+
"invalid": "Phải là giá trị boolean"
|
|
8
|
+
},
|
|
9
|
+
"email": {
|
|
10
|
+
"required": "Bắt buộc",
|
|
11
|
+
"invalid": "Định dạng email không hợp lệ",
|
|
12
|
+
"minLength": "Phải có ít nhất ${minLength} ký tự",
|
|
13
|
+
"maxLength": "Phải có tối đa ${maxLength} ký tự",
|
|
14
|
+
"includes": "Phải bao gồm ${includes}",
|
|
15
|
+
"domain": "Phải từ tên miền: ${domain}",
|
|
16
|
+
"domainBlacklist": "Tên miền ${domain} không được phép",
|
|
17
|
+
"businessOnly": "Chỉ cho phép địa chỉ email doanh nghiệp",
|
|
18
|
+
"noDisposable": "Không cho phép địa chỉ email dùng một lần"
|
|
19
|
+
},
|
|
20
|
+
"url": {
|
|
21
|
+
"required": "Bắt buộc",
|
|
22
|
+
"invalid": "Định dạng URL không hợp lệ",
|
|
23
|
+
"min": "Phải có ít nhất ${min} ký tự",
|
|
24
|
+
"max": "Phải có tối đa ${max} ký tự",
|
|
25
|
+
"includes": "Phải bao gồm ${includes}",
|
|
26
|
+
"excludes": "Không được chứa ${excludes}",
|
|
27
|
+
"protocol": "Giao thức phải là một trong: ${protocols}",
|
|
28
|
+
"domain": "Tên miền phải là một trong: ${domains}",
|
|
29
|
+
"domainBlacklist": "Tên miền ${domain} không được phép",
|
|
30
|
+
"port": "Cổng phải là một trong: ${ports}",
|
|
31
|
+
"pathStartsWith": "Đường dẫn phải bắt đầu bằng ${path}",
|
|
32
|
+
"pathEndsWith": "Đường dẫn phải kết thúc bằng ${path}",
|
|
33
|
+
"hasQuery": "URL phải có tham số truy vấn",
|
|
34
|
+
"noQuery": "URL không được có tham số truy vấn",
|
|
35
|
+
"hasFragment": "URL phải có fragment",
|
|
36
|
+
"noFragment": "URL không được có fragment",
|
|
37
|
+
"localhost": "Không cho phép URL localhost",
|
|
38
|
+
"noLocalhost": "Không cho phép URL localhost"
|
|
39
|
+
},
|
|
40
|
+
"password": {
|
|
41
|
+
"required": "Bắt buộc",
|
|
42
|
+
"min": "Phải có ít nhất ${min} ký tự",
|
|
43
|
+
"max": "Phải có tối đa ${max} ký tự",
|
|
44
|
+
"uppercase": "Phải có ít nhất một chữ hoa",
|
|
45
|
+
"lowercase": "Phải có ít nhất một chữ thường",
|
|
46
|
+
"digits": "Phải có ít nhất một chữ số",
|
|
47
|
+
"special": "Phải có ít nhất một ký tự đặc biệt",
|
|
48
|
+
"noRepeating": "Không được chứa ký tự lặp lại",
|
|
49
|
+
"noSequential": "Không được chứa ký tự liên tiếp",
|
|
50
|
+
"noCommonWords": "Không được chứa từ hoặc mẫu phổ biến",
|
|
51
|
+
"minStrength": "Độ mạnh mật khẩu phải ít nhất ${minStrength}",
|
|
52
|
+
"excludes": "Không được chứa ${excludes}",
|
|
53
|
+
"includes": "Phải bao gồm ${includes}",
|
|
54
|
+
"invalid": "Định dạng mật khẩu không hợp lệ"
|
|
55
|
+
},
|
|
56
|
+
"number": {
|
|
57
|
+
"required": "Bắt buộc",
|
|
58
|
+
"invalid": "Phải là số hợp lệ",
|
|
59
|
+
"integer": "Phải là số nguyên",
|
|
60
|
+
"float": "Phải là số thập phân",
|
|
61
|
+
"min": "Phải ít nhất ${min}",
|
|
62
|
+
"max": "Phải tối đa ${max}",
|
|
63
|
+
"positive": "Phải là số dương",
|
|
64
|
+
"negative": "Phải là số âm",
|
|
65
|
+
"nonNegative": "Phải không âm",
|
|
66
|
+
"nonPositive": "Phải không dương",
|
|
67
|
+
"multipleOf": "Phải là bội số của ${multipleOf}",
|
|
68
|
+
"finite": "Phải là số hữu hạn",
|
|
69
|
+
"precision": "Phải có tối đa ${precision} chữ số thập phân"
|
|
70
|
+
},
|
|
71
|
+
"id": {
|
|
72
|
+
"required": "Bắt buộc",
|
|
73
|
+
"invalid": "Định dạng ID không hợp lệ",
|
|
74
|
+
"minLength": "Phải có ít nhất ${minLength} ký tự",
|
|
75
|
+
"maxLength": "Phải có tối đa ${maxLength} ký tự",
|
|
76
|
+
"numeric": "Phải là ID dạng số",
|
|
77
|
+
"uuid": "Phải là UUID hợp lệ",
|
|
78
|
+
"objectId": "Phải là MongoDB ObjectId hợp lệ",
|
|
79
|
+
"nanoid": "Phải là Nano ID hợp lệ",
|
|
80
|
+
"snowflake": "Phải là Snowflake ID hợp lệ",
|
|
81
|
+
"cuid": "Phải là CUID hợp lệ",
|
|
82
|
+
"ulid": "Phải là ULID hợp lệ",
|
|
83
|
+
"shortid": "Phải là Short ID hợp lệ",
|
|
84
|
+
"customFormat": "Định dạng ID không hợp lệ",
|
|
85
|
+
"includes": "Phải bao gồm ${includes}",
|
|
86
|
+
"excludes": "Không được chứa ${excludes}",
|
|
87
|
+
"startsWith": "Phải bắt đầu bằng ${startsWith}",
|
|
88
|
+
"endsWith": "Phải kết thúc bằng ${endsWith}"
|
|
89
|
+
},
|
|
90
|
+
"text": {
|
|
91
|
+
"required": "Bắt buộc",
|
|
92
|
+
"notEmpty": "Không được để trống hoặc chỉ có khoảng trắng",
|
|
93
|
+
"minLength": "Phải có ít nhất ${minLength} ký tự",
|
|
94
|
+
"maxLength": "Phải có tối đa ${maxLength} ký tự",
|
|
95
|
+
"startsWith": "Phải bắt đầu bằng ${startsWith}",
|
|
96
|
+
"endsWith": "Phải kết thúc bằng ${endsWith}",
|
|
97
|
+
"includes": "Phải bao gồm ${includes}",
|
|
98
|
+
"excludes": "Không được chứa ${excludes}",
|
|
99
|
+
"invalid": "Định dạng không hợp lệ"
|
|
100
|
+
},
|
|
101
|
+
"date": {
|
|
102
|
+
"required": "Bắt buộc",
|
|
103
|
+
"invalid": "Ngày không hợp lệ",
|
|
104
|
+
"format": "Phải theo định dạng ${format}",
|
|
105
|
+
"min": "Ngày phải từ ${min} trở đi",
|
|
106
|
+
"max": "Ngày phải đến ${max} trở về trước",
|
|
107
|
+
"includes": "Phải bao gồm ${includes}",
|
|
108
|
+
"excludes": "Không được chứa ${excludes}",
|
|
109
|
+
"past": "Ngày phải ở quá khứ",
|
|
110
|
+
"future": "Ngày phải ở tương lai",
|
|
111
|
+
"today": "Ngày phải là hôm nay",
|
|
112
|
+
"notToday": "Ngày không được là hôm nay",
|
|
113
|
+
"weekday": "Ngày phải là ngày trong tuần (Thứ Hai-Thứ Sáu)",
|
|
114
|
+
"weekend": "Ngày phải là cuối tuần (Thứ Bảy-Chủ Nhật)"
|
|
115
|
+
},
|
|
116
|
+
"time": {
|
|
117
|
+
"required": "Bắt buộc",
|
|
118
|
+
"invalid": "Định dạng thời gian không hợp lệ",
|
|
119
|
+
"format": "Phải theo định dạng ${format}",
|
|
120
|
+
"min": "Thời gian phải sau ${min}",
|
|
121
|
+
"max": "Thời gian phải trước ${max}",
|
|
122
|
+
"hour": "Giờ phải từ ${minHour} đến ${maxHour}",
|
|
123
|
+
"minute": "Phút phải theo khoảng ${minuteStep} phút",
|
|
124
|
+
"second": "Giây phải theo khoảng ${secondStep} giây",
|
|
125
|
+
"includes": "Phải bao gồm ${includes}",
|
|
126
|
+
"excludes": "Không được chứa ${excludes}",
|
|
127
|
+
"customRegex": "Định dạng thời gian không hợp lệ",
|
|
128
|
+
"notInWhitelist": "Thời gian không nằm trong danh sách cho phép"
|
|
129
|
+
},
|
|
130
|
+
"datetime": {
|
|
131
|
+
"required": "Bắt buộc",
|
|
132
|
+
"invalid": "Định dạng ngày giờ không hợp lệ",
|
|
133
|
+
"format": "Phải theo định dạng ${format}",
|
|
134
|
+
"min": "Ngày giờ phải sau ${min}",
|
|
135
|
+
"max": "Ngày giờ phải trước ${max}",
|
|
136
|
+
"hour": "Giờ phải từ ${minHour} đến ${maxHour}",
|
|
137
|
+
"minute": "Phút phải theo khoảng ${minuteStep} phút",
|
|
138
|
+
"includes": "Phải bao gồm ${includes}",
|
|
139
|
+
"excludes": "Không được chứa ${excludes}",
|
|
140
|
+
"past": "Ngày giờ phải ở quá khứ",
|
|
141
|
+
"future": "Ngày giờ phải ở tương lai",
|
|
142
|
+
"today": "Ngày giờ phải là hôm nay",
|
|
143
|
+
"notToday": "Ngày giờ không được là hôm nay",
|
|
144
|
+
"weekday": "Ngày giờ phải là ngày trong tuần (Thứ Hai-Thứ Sáu)",
|
|
145
|
+
"weekend": "Ngày giờ phải là cuối tuần (Thứ Bảy-Chủ Nhật)",
|
|
146
|
+
"customRegex": "Định dạng ngày giờ không hợp lệ",
|
|
147
|
+
"notInWhitelist": "Ngày giờ không nằm trong danh sách cho phép"
|
|
148
|
+
},
|
|
149
|
+
"file": {
|
|
150
|
+
"required": "Bắt buộc",
|
|
151
|
+
"invalid": "Định dạng tệp không hợp lệ",
|
|
152
|
+
"size": "Kích thước tệp không được vượt quá ${size}",
|
|
153
|
+
"minSize": "Kích thước tệp phải ít nhất ${minSize}",
|
|
154
|
+
"maxSize": "Kích thước tệp không được vượt quá ${maxSize}",
|
|
155
|
+
"type": "Loại tệp phải là một trong: ${type}",
|
|
156
|
+
"extension": "Phần mở rộng tệp phải là một trong: ${extension}",
|
|
157
|
+
"extensionBlacklist": "Phần mở rộng tệp ${extension} không được phép",
|
|
158
|
+
"name": "Tên tệp phải khớp mẫu ${pattern}",
|
|
159
|
+
"nameBlacklist": "Tên tệp không được khớp mẫu ${pattern}",
|
|
160
|
+
"imageOnly": "Chỉ cho phép tệp hình ảnh",
|
|
161
|
+
"documentOnly": "Chỉ cho phép tệp tài liệu",
|
|
162
|
+
"videoOnly": "Chỉ cho phép tệp video",
|
|
163
|
+
"audioOnly": "Chỉ cho phép tệp âm thanh",
|
|
164
|
+
"archiveOnly": "Chỉ cho phép tệp nén"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"taiwan": {
|
|
168
|
+
"businessId": {
|
|
169
|
+
"required": "Bắt buộc",
|
|
170
|
+
"invalid": "Mã số doanh nghiệp Đài Loan không hợp lệ"
|
|
171
|
+
},
|
|
172
|
+
"nationalId": {
|
|
173
|
+
"required": "Bắt buộc",
|
|
174
|
+
"invalid": "Số chứng minh nhân dân Đài Loan không hợp lệ"
|
|
175
|
+
},
|
|
176
|
+
"mobile": {
|
|
177
|
+
"required": "Bắt buộc",
|
|
178
|
+
"invalid": "Định dạng số điện thoại di động Đài Loan không hợp lệ",
|
|
179
|
+
"notInWhitelist": "Không nằm trong danh sách số điện thoại di động cho phép"
|
|
180
|
+
},
|
|
181
|
+
"tel": {
|
|
182
|
+
"required": "Bắt buộc",
|
|
183
|
+
"invalid": "Định dạng số điện thoại cố định Đài Loan không hợp lệ",
|
|
184
|
+
"notInWhitelist": "Không nằm trong danh sách số điện thoại cố định cho phép"
|
|
185
|
+
},
|
|
186
|
+
"fax": {
|
|
187
|
+
"required": "Bắt buộc",
|
|
188
|
+
"invalid": "Định dạng số fax Đài Loan không hợp lệ",
|
|
189
|
+
"notInWhitelist": "Không nằm trong danh sách số fax cho phép"
|
|
190
|
+
},
|
|
191
|
+
"postalCode": {
|
|
192
|
+
"required": "Bắt buộc",
|
|
193
|
+
"invalid": "Mã bưu chính Đài Loan không hợp lệ",
|
|
194
|
+
"invalidFormat": "Định dạng mã bưu chính không hợp lệ",
|
|
195
|
+
"invalidRange": "Mã bưu chính nằm ngoài phạm vi hợp lệ",
|
|
196
|
+
"legacy5DigitWarning": "Mã bưu chính 5 chữ số là định dạng cũ, hãy cân nhắc sử dụng định dạng 6 chữ số",
|
|
197
|
+
"format3Only": "Chỉ cho phép mã bưu chính 3 chữ số",
|
|
198
|
+
"format5Only": "Chỉ cho phép mã bưu chính 5 chữ số",
|
|
199
|
+
"format6Only": "Chỉ cho phép mã bưu chính 6 chữ số",
|
|
200
|
+
"invalidSuffix": "Hậu tố mã bưu chính không hợp lệ - 5 chữ số phải là 01-99 hoặc 6 chữ số phải là 001-999",
|
|
201
|
+
"deprecated5Digit": "Mã bưu chính 5 chữ số đã ngừng sử dụng và không còn được hỗ trợ"
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"boolean": {
|
|
4
|
+
"required": "必填",
|
|
5
|
+
"shouldBeTrue": "必须为是",
|
|
6
|
+
"shouldBeFalse": "必须为否",
|
|
7
|
+
"invalid": "必须为布尔值"
|
|
8
|
+
},
|
|
9
|
+
"email": {
|
|
10
|
+
"required": "必填",
|
|
11
|
+
"invalid": "电子邮件格式错误",
|
|
12
|
+
"minLength": "长度至少 ${minLength} 个字符",
|
|
13
|
+
"maxLength": "长度最多 ${maxLength} 个字符",
|
|
14
|
+
"includes": "必须包含「${includes}」",
|
|
15
|
+
"domain": "必须为 ${domain} 域名",
|
|
16
|
+
"domainBlacklist": "不允许使用 ${domain} 域名",
|
|
17
|
+
"businessOnly": "仅允许企业邮箱地址",
|
|
18
|
+
"noDisposable": "不允许使用临时邮箱地址"
|
|
19
|
+
},
|
|
20
|
+
"url": {
|
|
21
|
+
"required": "必填",
|
|
22
|
+
"invalid": "无效的 URL 格式",
|
|
23
|
+
"min": "长度至少 ${min} 个字符",
|
|
24
|
+
"max": "长度最多 ${max} 个字符",
|
|
25
|
+
"includes": "必须包含「${includes}」",
|
|
26
|
+
"excludes": "不得包含「${excludes}」",
|
|
27
|
+
"protocol": "协议必须为:${protocols}",
|
|
28
|
+
"domain": "域名必须为:${domains}",
|
|
29
|
+
"domainBlacklist": "不允许使用域名 ${domain}",
|
|
30
|
+
"port": "端口必须为:${ports}",
|
|
31
|
+
"pathStartsWith": "路径必须以「${path}」开头",
|
|
32
|
+
"pathEndsWith": "路径必须以「${path}」结尾",
|
|
33
|
+
"hasQuery": "URL 必须包含查询参数",
|
|
34
|
+
"noQuery": "URL 不得包含查询参数",
|
|
35
|
+
"hasFragment": "URL 必须包含锚点",
|
|
36
|
+
"noFragment": "URL 不得包含锚点",
|
|
37
|
+
"localhost": "不允许使用本地 URL",
|
|
38
|
+
"noLocalhost": "不允许使用本地 URL"
|
|
39
|
+
},
|
|
40
|
+
"password": {
|
|
41
|
+
"required": "必填",
|
|
42
|
+
"min": "长度至少 ${min} 个字符",
|
|
43
|
+
"max": "长度最多 ${max} 个字符",
|
|
44
|
+
"uppercase": "必须包含至少一个大写字母",
|
|
45
|
+
"lowercase": "必须包含至少一个小写字母",
|
|
46
|
+
"digits": "必须包含至少一个数字",
|
|
47
|
+
"special": "必须包含至少一个特殊符号",
|
|
48
|
+
"noRepeating": "不可包含重复字符",
|
|
49
|
+
"noSequential": "不可包含连续字符",
|
|
50
|
+
"noCommonWords": "不可包含常见密码或模式",
|
|
51
|
+
"minStrength": "密码强度必须至少为 ${minStrength}",
|
|
52
|
+
"excludes": "不得包含「${excludes}」",
|
|
53
|
+
"includes": "必须包含「${includes}」",
|
|
54
|
+
"invalid": "密码格式错误"
|
|
55
|
+
},
|
|
56
|
+
"number": {
|
|
57
|
+
"required": "必填",
|
|
58
|
+
"invalid": "必须为有效数字",
|
|
59
|
+
"integer": "必须为整数",
|
|
60
|
+
"float": "必须为小数",
|
|
61
|
+
"min": "最小值 ${min}",
|
|
62
|
+
"max": "最大值 ${max}",
|
|
63
|
+
"positive": "必须为正数",
|
|
64
|
+
"negative": "必须为负数",
|
|
65
|
+
"nonNegative": "不可为负数",
|
|
66
|
+
"nonPositive": "不可为正数",
|
|
67
|
+
"multipleOf": "必须为 ${multipleOf} 的倍数",
|
|
68
|
+
"finite": "必须为有限数字",
|
|
69
|
+
"precision": "小数位数不可超过 ${precision} 位"
|
|
70
|
+
},
|
|
71
|
+
"id": {
|
|
72
|
+
"required": "必填",
|
|
73
|
+
"invalid": "无效的 ID 格式",
|
|
74
|
+
"minLength": "长度至少 ${minLength} 个字符",
|
|
75
|
+
"maxLength": "长度最多 ${maxLength} 个字符",
|
|
76
|
+
"numeric": "必须为数字 ID",
|
|
77
|
+
"uuid": "必须为有效的 UUID",
|
|
78
|
+
"objectId": "必须为有效的 MongoDB ObjectId",
|
|
79
|
+
"nanoid": "必须为有效的 Nano ID",
|
|
80
|
+
"snowflake": "必须为有效的 Snowflake ID",
|
|
81
|
+
"cuid": "必须为有效的 CUID",
|
|
82
|
+
"ulid": "必须为有效的 ULID",
|
|
83
|
+
"shortid": "必须为有效的 Short ID",
|
|
84
|
+
"customFormat": "无效的 ID 格式",
|
|
85
|
+
"includes": "必须包含「${includes}」",
|
|
86
|
+
"excludes": "不得包含「${excludes}」",
|
|
87
|
+
"startsWith": "必须以「${startsWith}」开头",
|
|
88
|
+
"endsWith": "必须以「${endsWith}」结尾"
|
|
89
|
+
},
|
|
90
|
+
"text": {
|
|
91
|
+
"required": "必填",
|
|
92
|
+
"notEmpty": "不可为空白或仅含空格",
|
|
93
|
+
"minLength": "长度至少 ${minLength} 个字符",
|
|
94
|
+
"maxLength": "长度最多 ${maxLength} 个字符",
|
|
95
|
+
"startsWith": "必须以「${startsWith}」开头",
|
|
96
|
+
"endsWith": "必须以「${endsWith}」结尾",
|
|
97
|
+
"includes": "必须包含「${includes}」",
|
|
98
|
+
"excludes": "不得包含「${excludes}」",
|
|
99
|
+
"invalid": "格式错误"
|
|
100
|
+
},
|
|
101
|
+
"date": {
|
|
102
|
+
"required": "必填",
|
|
103
|
+
"invalid": "无效日期",
|
|
104
|
+
"format": "必须为 ${format} 格式",
|
|
105
|
+
"min": "日期不得早于 ${min}",
|
|
106
|
+
"max": "日期不得晚于 ${max}",
|
|
107
|
+
"includes": "必须包含「${includes}」",
|
|
108
|
+
"excludes": "不得包含「${excludes}」",
|
|
109
|
+
"past": "必须为过去的日期",
|
|
110
|
+
"future": "必须为未来的日期",
|
|
111
|
+
"today": "必须为今天",
|
|
112
|
+
"notToday": "不得为今天",
|
|
113
|
+
"weekday": "必须为工作日(周一至周五)",
|
|
114
|
+
"weekend": "必须为周末(周六至周日)"
|
|
115
|
+
},
|
|
116
|
+
"time": {
|
|
117
|
+
"required": "必填",
|
|
118
|
+
"invalid": "无效的时间格式",
|
|
119
|
+
"format": "必须为 ${format} 格式",
|
|
120
|
+
"min": "时间不得早于 ${min}",
|
|
121
|
+
"max": "时间不得晚于 ${max}",
|
|
122
|
+
"hour": "小时必须介于 ${minHour} 与 ${maxHour} 之间",
|
|
123
|
+
"minute": "分钟必须为 ${minuteStep} 分钟间隔",
|
|
124
|
+
"second": "秒数必须为 ${secondStep} 秒间隔",
|
|
125
|
+
"includes": "必须包含「${includes}」",
|
|
126
|
+
"excludes": "不得包含「${excludes}」",
|
|
127
|
+
"customRegex": "无效的时间格式",
|
|
128
|
+
"notInWhitelist": "时间不在允许列表中"
|
|
129
|
+
},
|
|
130
|
+
"datetime": {
|
|
131
|
+
"required": "必填",
|
|
132
|
+
"invalid": "无效的日期时间格式",
|
|
133
|
+
"format": "必须为 ${format} 格式",
|
|
134
|
+
"min": "日期时间不得早于 ${min}",
|
|
135
|
+
"max": "日期时间不得晚于 ${max}",
|
|
136
|
+
"hour": "小时必须介于 ${minHour} 与 ${maxHour} 之间",
|
|
137
|
+
"minute": "分钟必须为 ${minuteStep} 分钟间隔",
|
|
138
|
+
"includes": "必须包含「${includes}」",
|
|
139
|
+
"excludes": "不得包含「${excludes}」",
|
|
140
|
+
"past": "必须为过去的日期时间",
|
|
141
|
+
"future": "必须为未来的日期时间",
|
|
142
|
+
"today": "必须为今天",
|
|
143
|
+
"notToday": "不得为今天",
|
|
144
|
+
"weekday": "必须为工作日(周一至周五)",
|
|
145
|
+
"weekend": "必须为周末(周六至周日)",
|
|
146
|
+
"customRegex": "无效的日期时间格式",
|
|
147
|
+
"notInWhitelist": "日期时间不在允许列表中"
|
|
148
|
+
},
|
|
149
|
+
"file": {
|
|
150
|
+
"required": "必填",
|
|
151
|
+
"invalid": "无效的文件格式",
|
|
152
|
+
"size": "文件大小不得超过 ${size}",
|
|
153
|
+
"minSize": "文件大小至少 ${minSize}",
|
|
154
|
+
"maxSize": "文件大小不得超过 ${maxSize}",
|
|
155
|
+
"type": "文件类型必须为:${type}",
|
|
156
|
+
"extension": "扩展名必须为:${extension}",
|
|
157
|
+
"extensionBlacklist": "不允许使用扩展名 ${extension}",
|
|
158
|
+
"name": "文件名必须符合格式 ${pattern}",
|
|
159
|
+
"nameBlacklist": "文件名不得符合格式 ${pattern}",
|
|
160
|
+
"imageOnly": "仅允许图片文件",
|
|
161
|
+
"documentOnly": "仅允许文档文件",
|
|
162
|
+
"videoOnly": "仅允许视频文件",
|
|
163
|
+
"audioOnly": "仅允许音频文件",
|
|
164
|
+
"archiveOnly": "仅允许压缩文件"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"taiwan": {
|
|
168
|
+
"businessId": {
|
|
169
|
+
"required": "必填",
|
|
170
|
+
"invalid": "无效的统一编号"
|
|
171
|
+
},
|
|
172
|
+
"nationalId": {
|
|
173
|
+
"required": "必填",
|
|
174
|
+
"invalid": "无效的身份证号"
|
|
175
|
+
},
|
|
176
|
+
"mobile": {
|
|
177
|
+
"required": "必填",
|
|
178
|
+
"invalid": "无效的手机号码格式",
|
|
179
|
+
"notInWhitelist": "不在允许的手机号码列表中"
|
|
180
|
+
},
|
|
181
|
+
"tel": {
|
|
182
|
+
"required": "必填",
|
|
183
|
+
"invalid": "无效的座机号码格式",
|
|
184
|
+
"notInWhitelist": "不在允许的座机号码列表中"
|
|
185
|
+
},
|
|
186
|
+
"fax": {
|
|
187
|
+
"required": "必填",
|
|
188
|
+
"invalid": "无效的传真号码格式",
|
|
189
|
+
"notInWhitelist": "不在允许的传真号码列表中"
|
|
190
|
+
},
|
|
191
|
+
"postalCode": {
|
|
192
|
+
"required": "必填",
|
|
193
|
+
"invalid": "无效的邮政编码",
|
|
194
|
+
"invalidFormat": "邮政编码格式错误",
|
|
195
|
+
"invalidRange": "邮政编码超出有效范围",
|
|
196
|
+
"legacy5DigitWarning": "5 位邮政编码为旧式格式,建议使用 6 位格式",
|
|
197
|
+
"format3Only": "仅允许 3 位邮政编码",
|
|
198
|
+
"format5Only": "仅允许 5 位邮政编码",
|
|
199
|
+
"format6Only": "仅允许 6 位邮政编码",
|
|
200
|
+
"invalidSuffix": "无效的邮政编码后缀 - 5 位格式须为 01-99,6 位格式须为 001-999",
|
|
201
|
+
"deprecated5Digit": "5 位邮政编码已弃用且不再支持"
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
@@ -49,7 +49,7 @@ export type BooleanOptions<IsRequired extends boolean = true> = {
|
|
|
49
49
|
falsyValues?: unknown[]
|
|
50
50
|
strict?: boolean
|
|
51
51
|
transform?: (value: boolean) => boolean
|
|
52
|
-
i18n?: Record<Locale, BooleanMessages
|
|
52
|
+
i18n?: Partial<Record<Locale, Partial<BooleanMessages>>>
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
/**
|
|
@@ -99,7 +99,7 @@ export type DateOptions<IsRequired extends boolean = true> = {
|
|
|
99
99
|
weekendsOnly?: boolean
|
|
100
100
|
transform?: (value: string) => string
|
|
101
101
|
defaultValue?: IsRequired extends true ? string : string | null
|
|
102
|
-
i18n?: Record<Locale, DateMessages
|
|
102
|
+
i18n?: Partial<Record<Locale, Partial<DateMessages>>>
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
/**
|
|
@@ -170,7 +170,7 @@ export type DateTimeOptions<IsRequired extends boolean = true> = {
|
|
|
170
170
|
whitelistOnly?: boolean // If true, only allow values in whitelist
|
|
171
171
|
transform?: (value: string) => string
|
|
172
172
|
defaultValue?: IsRequired extends true ? string : string | null
|
|
173
|
-
i18n?: Record<Locale, DateTimeMessages
|
|
173
|
+
i18n?: Partial<Record<Locale, Partial<DateTimeMessages>>>
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
/**
|