反应选择验证错误消息在formik和yup中不删除AFETER CONT值

发布于 2025-01-27 23:03:23 字数 1866 浏览 2 评论 0原文

我正在使用React-Select选择多个选项。我使用formik和yup进行验证。所有事情都可以正常工作,但是当我选择一个选项时,错误消息不会消失。 我该如何处理?

这是验证:

const [initialValues, setIntialValues] = useState({.......,productLine: "",...});
const validationSchema = Yup.object().shape({
   ..............,
   productLine: Yup.string().required("This field is required"),
   .............
})
const [selectedPrduct, setSelectedProduct] = useState("");
const handleProductChange = selectedPro => {
   setSelectedProduct(selectedPro);
};

和我的形式:

<Formik
    initialValues={initialValues}
    validationSchema={validationSchema}
    onSubmit={(values) => onSubmit(values)}
    enableReinitialize={true}
  >
    {({ errors, values, touched, setValues }) => (
      <Form className="w-full px-3 py-10 space-y-8 divide-y divide-gray-200 text-justify ">
      ..............
      <Select
        value={selectedPrduct}
        styles={{
          input: (base) => ({
            ...base,
            'input:focus': {
              boxShadow: 'none',
            },
          }),
        }}
        onChange={selectedOption => {
          handleProductChange(selectedOption);
        }}
        isSearchable={true}
        options={productLine}
        name="productLine"
        
      />
      <button
        type="submit"
        className="ml-3 inline-flex w-2/4 md:w-20 lg:w-20 justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md bg-magento text-alabaster"
      >
              Save
            </button>
   </Form>
   )}
</Formik>

“在此处输入图像说明”

I am using react-select to select multiple options. I used Formik and Yup for validation. all things work correctly, but the error message does not disappear when I select an option.
how can I handle this?

This is validation:

const [initialValues, setIntialValues] = useState({.......,productLine: "",...});
const validationSchema = Yup.object().shape({
   ..............,
   productLine: Yup.string().required("This field is required"),
   .............
})
const [selectedPrduct, setSelectedProduct] = useState("");
const handleProductChange = selectedPro => {
   setSelectedProduct(selectedPro);
};

and my form:

<Formik
    initialValues={initialValues}
    validationSchema={validationSchema}
    onSubmit={(values) => onSubmit(values)}
    enableReinitialize={true}
  >
    {({ errors, values, touched, setValues }) => (
      <Form className="w-full px-3 py-10 space-y-8 divide-y divide-gray-200 text-justify ">
      ..............
      <Select
        value={selectedPrduct}
        styles={{
          input: (base) => ({
            ...base,
            'input:focus': {
              boxShadow: 'none',
            },
          }),
        }}
        onChange={selectedOption => {
          handleProductChange(selectedOption);
        }}
        isSearchable={true}
        options={productLine}
        name="productLine"
        
      />
      <button
        type="submit"
        className="ml-3 inline-flex w-2/4 md:w-20 lg:w-20 justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md bg-magento text-alabaster"
      >
              Save
            </button>
   </Form>
   )}
</Formik>

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文