Как проверить правильность повторяющегося имени в поле «Имя» с помощью формы Redux? - PullRequest
0 голосов
/ 14 июня 2019
 import React from 'react'
 import { Field, reduxForm } from 'redux-form'

 const required = value => value ? undefined : 'Required'

 const renderField = ({ input, label, type, meta: { touched, error, warning } })=> (
                 <div>
                    <label>{label}</label>
                 <div>
                     <input {...input} placeholder={label} type={type}/>

                     {touched && ((error && <span>{error}</span>) ||  
                     (warning && <span>{warning}</span>))}
                      </div>
                     </div>
                 )

             const FieldLevelValidationForm = (props) => {
             const { handleSubmit, pristine, reset, submitting } = props
           return (
                <form onSubmit={handleSubmit}>
                  <Field name="username" type="text"
                   component={renderField} label="Username"
                   validate={[ required, maxLength15 ]}
                   />
                  <div>
                 <button type="submit" disabled={submitting}>Submit</button>
                 <button type="button" disabled={pristine || submitting}    
                    onClick={reset}>Clear Values</button>
                 </div>
                 </form>
                  )
               }

         export default reduxForm({form: 'fieldLevelValidation'})                   
           (FieldLevelValidationForm)

В текущей реализации отсутствует проверка ввода записи с повторяющимся именем пользователя. Я хотел бы знать, как я могу определить логику для проверки ввода повторяющегося имени пользователя в форме?

1 Ответ

0 голосов
/ 15 июня 2019

Вы можете использовать asyncValidate в reduxForm здесь . Кроме того, вы должны использовать диспетчеризацию при подтверждении. Вы должны сделать это так же, как показано ниже:

const asyncValidate = (values, dispatch) => {
  //using dispatch here
}
...