Redux-форма не может отправить - PullRequest
0 голосов
/ 07 июня 2018

Я создаю свою первую Redux-форму, но форма не добавляет информацию в базу данных.

class UserInfo extends Component{
    renderField(field) {
        const { meta: { touched, error } } = field;
        const className = `form-group ${touched && error ? "has-danger" : ""}`;

        return (
          <div className={className}>
            <label>{field.label}</label>
            <input className="form-control" type="text" {...field.input} />
            <div className="text-help">
              {touched ? error : ""}
            </div>
          </div>
        );
      }
    onSubmit(values){

        //this.props.addUser(values);
        console.log(values);
    }
render(){
        const { handleSubmit, pristine, reset, submitting } = this.props;
        return(
            <div>
                <div>
                    <form onSubmit={handleSubmit(this.onSubmit.bind(this))}>
                        <div className='form-row'>
                            <Field label='Name' component={this.renderField} name='username'  />
                            <Field label='Address' component={this.renderField }name='address'  />
                            <Field label='Contact' component={this.renderField} name='contact'  />
                            <Field label='Email'component={this.renderField} name='email' />
                            <button type="submit"  className="btn btn-primary">Add new User</button>
                        </div>
                    </form>
                </div>
            </div>
        );
    }
}

function validate(values) {
    const errors = {};

    if (!values.uername) {
      errors.username = 'Please enter a first name';
    }

    if (!values.address) {
      errors.address = 'Please enter an address';
    }

    if (!values.contact) {
        errors.contact = 'Please enter a phone number'
    }

    if (!values.email) {
      errors.email = 'Please enter an email';
    }

    return errors;
  }

export default reduxForm({
    validate,
    form: 'UserForm'
})(connect(null, { addUser })(UserInfo));

Если я использую console.log(values) в onSubmit функции, я не получаю никакойвывод в браузере. Я использую createLogger, чтобы помочь с действиями.И он показывает тип:

"@@ redux-form / SET_SUBMIT_FAILED"

Я не могу понять, что это за ошибка.

1 Ответ

0 голосов
/ 29 августа 2019

Используйте инструменты разработчика (ctrl + shift + I), возьмите redux - state - form - 'NameofReduxform' - syncErrors.Затем вы можете увидеть некоторые обязательные поля. Вам нужно заполнить поля, чтобы отправка работала.Надеюсь, это поможет!

...