将字段传递给异步验证Redux表单

时间:2020-08-24 16:13:03

标签: reactjs asynchronous redux redux-form

我目前正在使用asyncvalidation来验证表单中的某些值。但是,在将字段传递给异步函数时遇到一些问题。

所以基本上我有两个要验证的URL:smallURL和largeURL。 我从json接收数据,该数据在对象中包含两个数据,这些对象称为同时包含smallURL和largeURL的值。我希望能够将分别命名为smallURL和largeURL的字段传递给我,以便进行验证。

我的表单组件如下:

const theForm = props => {
    const { handleSubmit, submitting, onSubmit} = props;
    return (
      <form onSubmit={handleSubmit(onSubmit)}>
        <fieldset disabled={submitting}>
                   <Field component={renderImgUrlInput} name="largeURL" label="Large URL" />
          <Field component={renderImgUrlInput} name="smallURL" label="Small URL" />
       
....................
        </fieldset>
      </form>
    )
  }
  export default reduxForm({
  
    form: 'theForm',
    asyncValidate,
    asyncBlurFields: [ 'username', 'smallURL', 'largeURL' ]
  })(CollectionForm);

我的异步验证功能如下:

  export const asyncValidate = (values) => {
// values contain both values.smallURL and values.largeURL
//The fields (smallURL and largeURL in my component match this. How do I pass in the fields as well.)
 
  return promise(url)
    .then((val) => { 
 ... 
    })
  }

  ...... 

0 个答案:

没有答案