field-form
                                
                                 field-form copied to clipboard
                                
                                    field-form copied to clipboard
                            
                            
                            
                        validator校验无法输出'${example}'
问题:在使用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}', }, ]}