如何使用redux表单在react js中验证formsection?

时间:2019-07-12 02:03:06

标签: javascript reactjs redux react-redux redux-form

我正在尝试使用Redux表单库来验证我的表单。我有一个表单部分,其中有两个字段,例如firstname(必填)。我想在用户单击按钮时显示错误。

我这样尝试过 https://codesandbox.io/s/green-frost-414qi

const validateGeneral = general => {
  console.log(general, "general");
  let errors = {};
  // validate address.street etc
  if (general && !general.firstName) {
    errors.firstName = "enter a valid street";
  }
  return errors;
};
const validate = values => {
  console.log(values, "ddd");
  const errors = {};
  errors.general = validateGeneral(values.general);
  return errors;
};

单击按钮时,名字为空时,应该显示错误消息。

2 个答案:

答案 0 :(得分:0)

您应该添加redux-form提供的Field组件的验证道具

在上面的codesandbox示例中,如下所示添加validate prop,它将正常工作。

<Field
  name={i.name}
  component={i.component}
  options={i.options || undefined}
  type={i.type}
  validate={i.validate}
/>

答案 1 :(得分:0)

您应该包括一个验证道具,如下所示,当字段为空并且单击按钮时,它将显示错误消息

const required = value =>
  value || typeof value === "number" ? undefined : "Required";

 <Field
  name = { i.name }
  component = { i.component }
  options = { i.options || undefined }
  type = { i.type }
  validate = { required }
  />