antd中validateFields失效问题

Posted ding-dong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了antd中validateFields失效问题相关的知识,希望对你有一定的参考价值。

  在antd的form表单中通常用this.props.form.validateFields()来获取并提交表单信息,那么问题来了,有时为啥会不走validateFields()方法里的代码呢?

  这是因为你的form表单里有自定义校验,而你的自定义校验没有用callback()跳出:

// 校验角色名字唯一
    getName = (rule, value, callback) => {
        const { dispatch } = this.props;
        const { recodes } = this.state;
        if (value) {
            dispatch({ type: roleModel/getName, payload: { roleId: recodes ? recodes.roleId : ‘‘, roleName: value } })
            .then((xhr)=>{
                if(!xhr){
                    callback(该角色名称已存在);
                }
            })
            callback()//在这里加一个callback就好了
        }else{
            callback()
        }
    };

  是不是和你踩的坑一样,有没有一种困扰多年的**瞬间通畅的感觉,

技术图片

  欢迎借鉴交流

以上是关于antd中validateFields失效问题的主要内容,如果未能解决你的问题,请参考以下文章

使用react中antd design UI库from中的getFieldsValue,getFieldValue,validateFields,resetFields,getFieldDecorat

antd form表单的getFieldDecorator,validateFields,getFieldValue,setFieldsValue用法

Antd form表单中input失效,无法输入字符串,只能输入单个字符

2022-07-10 Antd表单的基本使用

antd table设置固定列'fixed',Sortablejs失效

ant-design form