如何使用joi-browser验证嵌套对象

时间:2018-11-28 05:04:43

标签: reactjs joi

我正在尝试验证具有另一个嵌套对象但到目前为止没有运气的对象。上下文:

class ContactForm extends Component {
  state = {
    contact: {
      name: { firstName: "", lastName: "" },
      email: "",
      subject: "",
      message: ""
    },
    errors: {}
  };

  schema = {
    name: Joi.object({ firstName: Joi.string(), lastName: Joi.string() })
      .required()
      .label("Name"),
    email: Joi.string()
      .email()
      .required()
      .label("Email"),
    subject: Joi.string()
      .min(5)
      .max(50)
      .required()
      .label("Subject"),
    message: Joi.string()
      .min(5)
      .max(50)
      .required()
      .label("Message")
  };
}

我尝试阅读joi文档,但找不到与我的情况类似的示例。顺便说一下,表单如下:

form

请注意,我在方案中的名称对象上添加了标签,该标签未在错误消息中显示为架构中的其他属性。如果您需要除此以外的更多背景信息来编辑我的帖子,请告诉我,我被困在这里:/

0 个答案:

没有答案