Redux表单错误未定义

joe*_*mow 3 reactjs redux-form

为什么验证函数未定义错误?我在日志中打印错误但在字段中未定义.当我尝试做field.meta.error时,我得到一个未定义的.我把它放在inputComponent之后的const中<input>.

const inputComponent = function(field) {
  return (
    <div>
      <input { ...field.input } type={field.type} placeholder={field.placeholder} className={field.className} />
    </div>
  );
}

class Test extends Component {

  render() {

    <div>
       <Field name="name" component={inputComponent} type="email" placeholder="Email" />
       <Field name="password" component={inputComponent} type="password" placeholder="Password" />
    </div>

  }


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

  if(!values.name) {
    errors.categories = "Name error";
  }

  if(!values.password) {
    errors.categories = "Password error";
  }

  return errors;
}

}

Test = reduxForm({
  form: 'NameForm',
  validate
}, null, null)(Test);

export default connect(mapStateToProps, mapDispatchToProps)(Test);
Run Code Online (Sandbox Code Playgroud)

jak*_*kee 5

errors从中返回对象时validate,包含a的错误消息的键Field必须与该字段的nameprop 相同.

所以在这种情况下:

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

  if(!values.name) {
    errors.name = "Name error";
  }

  if(!values.password) {
    errors.password = "Password error";
  }

  return errors;
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,我建议您从Redux-Form文档中查看此验证示例.

希望这可以帮助!