简体   繁体   English

Ant 设计表单“警告:不推荐使用`回调`。请改为返回承诺。” 自定义规则错误

[英]Ant design Form "Warning: `callback` is deprecated. Please return a promise instead." Error in custom rules

I made custom rule on form elements.我对表单元素做了自定义规则。 But when i use custom error message with promise its giving that error.但是当我使用带有承诺的自定义错误消息时,它会给出该错误。 What should i do for fix it ?我该怎么做才能修复它? My Form elements :我的表单元素:

That rule is checking PriceMax and PriceMin.该规则是检查 PriceMax 和 PriceMin。 And validate if PriceMax is bigger than PriceMin.并验证 PriceMax 是否大于 PriceMin。 If Its not it should show me error message.So i used Promise but it making warning in console like : "Warning: callback is deprecated. Please return a promise instead."如果不是,它应该向我显示错误消息。所以我使用了 Promise 但它在控制台中发出警告,例如:“警告: callback已被弃用。请返回一个承诺。” Error in custom rules"自定义规则错误”

 <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>

You must do as shown in the example您必须按照示例中所示进行操作
https://ant.design/components/form/#components-form-demo-register https://ant.design/components/form/#components-form-demo-register
The validator should always return a promise on both success and error验证器应始终返回成功和错误的承诺

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

Also you missed a radix parameter in the parseInt你也错过了 parseInt 中的一个基数参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何摆脱控制台警告“enableRowSelect 已被弃用...请改用 rowSelection。”” - How to get rid of console warning "enableRowSelect has been deprecated... Please use rowSelection instead."" 已弃用“ webkitMovementX”。 请改用“ movementX” - 'webkitMovementX' is deprecated. Please use 'movementX' instead 不推荐使用globalstorage。 请改用localstorage - use of globalstorage is deprecated. please use localstorage instead “订阅”已弃用。 使用观察者而不是完整的回调 - 'subscribe' is deprecated. Use an observer instead of a complete callback 错误:弃用警告:未处理的 promise 拒绝已弃用。 - 承诺在 Javascript 和 Selenium - Error: DeprecationWarning: Unhandled promise rejections are deprecated. - Promises in Javascript with Selenium 请帮忙! -不推荐使用event.returnValue。 请改用标准event.preventDefault() - Please help! - event.returnValue is deprecated. Please use the standard event.preventDefault() instead “ Attr.nodeValue”已弃用。 请使用“值”代替adsbygoogle.js:27 - 'Attr.nodeValue' is deprecated. Please use 'value' instead adsbygoogle.js:27 Ant Design 表单自定义验证器 - Ant Design Form Custom Validator &#39;WebSocket.URL&#39;已弃用。 请改用&#39;WebSocket.url&#39; - 'WebSocket.URL' is deprecated. Please use 'WebSocket.url' instead 不推荐使用XMLHttpRequest进度事件属性“position”。 请改用&#39;已加载&#39; - The XMLHttpRequest progress event property 'position' is deprecated. Please use 'loaded' instead
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM