【Antd Form】Ant Form.Item validator警告 `callback` is deprecated. Please return a promise instead

原因

新版的antd使用了React的hooks,表单中的字段效验方法进行了一些修改。原来的callback回调方法改成返回一个Promise对象。

        <Modal
            visible={visible}
            title={modelTitle}
            width={500}
            onOk={handleOk}
            okText={'保存'}
            cancelText={'取消'}
            confirmLoading={loading}
            onCancel={() => setVisible(false)}
            destroyOnClose
            {...otherProps}
        >
            <Form
                layout='horizontal'
                form={form}
            >
                <Form.Item
                    name='categoryName'
                    initialValue={form.getFieldValue('categoryName') || formValue?.categoryName || ''}
                    validateTrigger='onBlur'
                    rules={[
                        {
                            required: true,
                            message: '不能为空'
                        },
                        {
                            min: 1,
                            max: 200,
                            message: '请输入1-200字'
                        },
                        {
                            whitespace: true,
                            message: '不能为纯空格'
                        },
                        {
                            async validator(rule, value, callback) {
                                const param = { id: formValue?.category, categoryName: value };
                                const res = await WorkFlowCategoryNameIsExist(param);
                                const { code, data: isExistName, msg } = res;
                                if (isSuccess(code)) {
                                    if (isExistName) {
                                        return Promise.reject('分组名称重复,请重新输入');
                                        // callback('分组名称重复,请重新输入');
                                    } else {
                                        return Promise.resolve();
                                        // callback();
                                    }
                                } else {
                                    return Promise.reject(msg);
                                    // callback(msg);
                                }
                            }
                        }
                    ]}
                >
                    <Input
                        placeholder={'请输入分组名称'}
                        maxLength={200}
                    />
                </Form.Item>
            </Form>
        </Modal>
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hzxOnlineOk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值