Yup을 사용한 양식 필드의 조건부 유효성 검사

2438 단어
필요한 경우 passphrase를 입력하고 필요하지 않은 경우 선택 사항으로 만드는 양식이 있습니다. Yup을 사용하여 필드의 유효성을 검사하는 동안 필드의 유효성 검사 논리를 조건부로 변경하는 방법이 필요했습니다. 이를 위해 일부 조건에 따라 필드에 적용되는 유효성 검사 논리를 변경할 수 있는 Yup의 when() 함수를 사용해야 합니다.

샘플 코드:

<Formik
      initialValues={initialValues}
      validationSchema={Yup.object({
        passphrase: Yup.string().when([], {
          is: () => passwordRequired && !showMessage,
          then: Yup.string().required("Passphrase is required"),
          otherwise: Yup.string().notRequired(),
        }),
      })}
>
  {/* ... */}
</Formik>


참조:
  • Yup docs on when() function
  • SO post with good answers
  • 좋은 웹페이지 즐겨찾기