我正在尝试使用具有Yup验证模式的Formik表单来编辑来自ReduxORM会话的实体。使用ReduxORM模型时,验证似乎无法正常进行。
我认为这是一个Formik问题,因为我成功使用validate函数手动调用了Yup,从而正确验证了我的实体:
validate={values => CompanyFormSchema.validate(values, { abortEarly: false }).catch(errors => { throw yupToFormErrors(errors) })}
(请参见下面的codeandbox尝试这两种方法)
这里是一个代码箱,可重现该问题: https://codesandbox.io/s/formik-reduxorm-validationschema-issue-kd95s
我希望validateSchema属性可以与ReduxORM模型一起使用。你知道我在做什么错吗?
答案 0 :(得分:0)
克里斯蒂安(在评论部分中)提供的解决方案正在工作:
“您需要从实体中提取字段:
let initialValues = entity._fields;
”
有人知道为什么Formik的schemaValidation行为和手动调用Yup验证模式之间存在区别吗?