antd表单验证自定义检验方式(validator)

本文探讨了Ant Design Form组件的验证机制,展示了如何使用rules属性定义必填项及自定义验证规则。通过示例代码解释了如何返回Promise进行异步验证,并给出了一个关于条件校验的例子,强调了错误提示的设置。
 <Form.Item
        rules={[
          {
            required: true,
            message: 'Please confirm your password!',
          },
          ({ getFieldValue }) => ({
            validator(_, value) {
              if (!value || getFieldValue('password') === value) {
                return Promise.resolve();
              }
              return Promise.reject(new Error('错误提示!'));
            },
          }),
        ]}
      >

接收 Promise 作为返回值
参考链接:https://ant.design/components/form-cn/#components-form-demo-register

也可以直接传入校验结果:
举个栗子:

const [deptRe, setDeptRe] = useState(true); // 定义初始化校验结果

// 定义执行方法
  const = () => {
  let a = 3;
  let b = 1;
     if(a > b)
     setDeptRe(false);
     }else{
     setDeptRe(true);
     }
  };
// 表单
<Form.Item
        rules={[
         () => ({
         validator() {
          if (deptRe) {
          return Promise.resolve(); // 执行校验通过的结果
           }
           return Promise.reject(new Error('a大于b'),// 执行校验不通过的结果
            );
                },
              }),
            ]}
      >
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值