field-form icon indicating copy to clipboard operation
field-form copied to clipboard

validator校验无法输出'${example}'

Open jqy1012 opened this issue 2 years ago • 2 comments

问题:在使用antd的Form.Item组件遇到,输入校验错误会输出undefined,问题代码如下: <Form.Item name={'demo'} label={'demo'} rules={[ { validator: (rule, value) => { if (!value) { return Promise.reject('${example}'); } return Promise.resolve(); }, }, ]}

问题原因:查阅了代码发现validateUtil.ts这个文件的replaceMessage函数对'${}'字符串做了特殊处理,但是TS校验没有暴露出来这个处理。

解决:修改代码为如下,可以解决问题 <Form.Item name={'demo'} label={'demo'} rules={[ { validator: (rule, value) => { if (!value) { return Promise.reject('${example}'); } return Promise.resolve(); }, example: '${example}', }, ]}

jqy1012 avatar Apr 20 '23 12:04 jqy1012