下面是我使用formik
的React
表单验证代码.默认情况下,加载表单时,我希望保持"提交"按钮处于禁用状态:
import { useFormik } from "formik";
import * as Yup from "yup";
const formik = useFormik({
initialValues: {
firstName: "",
lastName: "",
email: ""
},
validationSchema: Yup.object({
firstName: Yup.string()
.max(15, "Must be 15 characters or less")
.min(3, "Must be at least 3 characters")
.required("Required"),
lastName: Yup.string()
.min(3, "Must be at least 3 characters")
.max(20, "Must be 20 characters or less")
.required("Required"),
email: Yup.string()
.email("Invalid email address")
.required("Required")
}),
onSubmit: values => {
handleSubmit(values);
}
});
我试着在我的按钮上使用这个:
disabled={!formik.isValid}
但只有当我try 提交表格时,它才真正起作用.因此,如果我将表单留空并点击submit,所有验证错误都会显示,然后该按钮将被禁用.但是,它应该从一开始就被禁用.我查看了documentation,但没有看到任何明显的东西.