javascript - Ant design Form "Warning: ` callback` 已弃用。请返回一个 promise 。”自定义规则错误

标签 javascript html css reactjs antd

我对表单元素制定了自定义规则。但是当我使用带有 promise 的自定义错误消息时,它会给出该错误。我应该怎么做才能修复它?我的表单元素:

该规则正在检查 PriceMax 和 PriceMin。并验证 PriceMax 是否大于 PriceMin。如果不是,它应该向我显示错误消息。所以我使用了 Promise,但它在控制台中发出警告,如:“警告:callback 已被弃用。请改为返回一个 promise。”自定义规则错误”

 <Form.Item name="PriceMin" label="Minimum fiyat" required>
                  <Input
                    type="number"
                    name="Input"
                    placeholder="En düşük fiyat"
                    onChange={(e) => updateForm(e.target.value, "PriceMin")}
                  />
                </Form.Item>
                <Form.Item
                  name="PriceMax"
                  label="Maximum fiyat"
                  dependencies={["PriceMin"]}
                  rules={[
                    {
                      required: true,
                      message: "Please confirm your password!",
                    },
                    ({ getFieldValue }) => ({
                      validator(rule, value) {
                        if (
                          parseInt(value) < parseInt(getFieldValue("PriceMin"))
                        ) {
                          return Promise.reject(
                            "Maksimum fiyat minimum fiyattan az olamaz!"  //When i delete that row its fix warning, but i need have that error message.
                          );
                        }
                      },
                    }),
                  ]}
                >
                  <Input
                    name="Input"
                    type="number"
                    disabled={
                      MyForm.getFieldValue("PriceMin") === undefined ||
                      MyForm.getFieldValue("PriceMin") === ""
                        ? true
                        : false
                    }
                    placeholder="En yüksek fiyat"
                    onChange={(e) => updateForm(e.target.value, "PriceMax")}
                  />
                </Form.Item>

最佳答案

您必须按照示例中所示进行操作
https://ant.design/components/form/#components-form-demo-register
验证器应该总是在成功和错误时返回一个 promise

({ getFieldValue }) => ({
    validator(rule, value) {
        if (parseInt(value, 10) < parseInt(getFieldValue("PriceMin"), 10)) {
            return Promise.reject(
                  "Maksimum fiyat minimum fiyattan az olamaz!");
        }
        return Promise.resolve();
    }
})

你还错过了 parseInt 中的基数参数

关于javascript - Ant design Form "Warning: ` callback` 已弃用。请返回一个 promise 。”自定义规则错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69807881/

相关文章:

javascript - Angular : Asynchronous Promise in Switch Statement

javascript - 为什么这个 javascript 代码不起作用?

php - 如果我想将 HTML 保存在一个单独的文件中,如何在发送之前将 PHP 变量传递给 HTML?

css - 如何在 CSS 中创建十字?

javascript - 使用具有不同图像的一个组件?

javascript - 如何在 Chart.JS 条形图中最后一个条形上方添加标签?

java - 使用 JSoup 从 HTML 中提取数据

html - 如何在此网格中的所有框之间添加相等的空间?

javascript - 我想根据 select 中的值更改 css 中给出的表格的背景颜色

html - 如何在悬停文本中向下滑动图像