Ism*_*_Aj 10 enums typescript zod
我想使用 Zod 验证性别字段z.nativeEnum(),但我的自定义错误消息不适用:
gender: z.nativeEnum(Gender, {\n invalid_type_error: \'Le sexe doit \xc3\xaatre homme ou femme.\',\n required_error: \'Le sexe est obligatoire\',\n }),\nRun Code Online (Sandbox Code Playgroud)\n但是当不选择选项时,显示的错误是:
\n\n这里有什么错误?
\nIsm*_*_Aj 14
我必须这样做,通过指定errorMap为返回一个对象的函数来保存每个问题的消息字段,如下所示:
gender: z.nativeEnum(Gender, {\n errorMap: (issue, _ctx) => {\n switch (issue.code) {\n case \'invalid_type\':\n return { message: \'Le sexe doit \xc3\xaatre homme ou femme.\' };\n case \'invalid_enum_value\':\n return { message: \'Le sexe doit \xc3\xaatre homme ou femme.\' };\n default:\n return { message: \'Sexe est invalide\' };\n }\n },\n }),\nRun Code Online (Sandbox Code Playgroud)\n
您缺少错误路径之一invalid_enum_value。这是因为默认选项被视为可能的值:\'S\xc3\xa9lectionnez un option\'。此选项不是 zod 枚举Gender之一
gender: z.nativeEnum(Gender, {\n invalid_type_error: \'Le sexe doit \xc3\xaatre homme ou femme.\',\n required_error: \'Le sexe est obligatoire\',\n invalid_enum_value: \'Please select one of the options\'\n }),\nRun Code Online (Sandbox Code Playgroud)\n\n
| 归档时间: |
|
| 查看次数: |
28286 次 |
| 最近记录: |