在 onBlur 事件中请求接口输入错误时,使 validateOldRules 校验输入框内容,可以通过在 onBlur 事件中调用 validateFields 方法来实现。在调用 validateFields 方法时,可以传入一个回调函数,在该回调函数中可以根据接口返回的结果来修改 validateOldRules 的校验规则。

具体代码如下所示:

<Form.Item
  label={'原始密码'}
  name={'oldPassword'}
  rules={[
    { required: true },
    { validator: validateOldRules }
  ]}
  labelCol={{style:{width:110}}}
  labelAlign='right'
>
  <Input.Password placeholder='请输入密码' onBlur={(e) => checkOldPass(e)}/>
</Form.Item>
const checkOldPass = (e) => {
  const value = e.target.value;
  
  // 发起请求,在请求成功后调用 validateFields 方法
  requestAPI(value).then(response => {
    // 根据接口返回的结果修改 validateOldRules 的校验规则
    const newRules = [...validateOldRules];
    if (response.error) {
      newRules.push({ message: '密码校验失败' });
    }
    
    form.validateFields(['oldPassword'], (errors, values) => {
      // 校验结果处理
    });
  });
};

以上代码中,checkOldPass 函数用于处理输入框的 onBlur 事件,其中的 requestAPI 函数用于模拟请求接口的过程。在请求成功后,根据接口返回的结果修改 validateOldRules 的校验规则,并调用 form 的 validateFields 方法来触发校验。在 validateFields 方法的回调函数中,可以处理校验结果并进行相应的操作。

onBlur 请求接口,使用 validateOldRules 校验输入框内容

原文地址: https://www.cveoy.top/t/topic/pa5I 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录