我有一个用户要求的表格,我非常明显地表明该表格无效。因此,我计划弹出一个sweetalert对话框,让他们知道他们需要仔细检查表单。我想我可以在验证中这样做,以便在提交尝试失败时提醒他们:
const validate = values => {
console.log(formik.isSubmitting); // always prints false
console.log(formik.isValidating); // always prints false
const errors = {};
if (!values.name) {
errors.name = 'Required';
}
if (Object.keys(errors).length > 0 && formik.isSubmitting) {
Swal.fire({
icon: 'error',
title: "Oops. . .",
text: "There are errors with the form. Please double check your options.",
footer: "<div>Problems: " + Object.keys(errors).join(', ') + "</div>"
})
}
return errors;
};
const formik = useFormik({
initialValues: {
name: item.name
},
enableReinitialize: true,
validate,
onSubmit: values => {
// also tried adding
formik.setSubmitting(true);
//do stuff
}
})
但它们isSubmitting / isValidating总是假的。我是否需要向函数传递额外的属性validate才能访问这些值?
https://codesandbox.io/s/nervous-wescoff-cf2y1?file=/src/App.js
www说
相关分类