Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

299
Views
¿Cómo ejecutar la validación solo si el elemento existe? Formik+Sí

Estoy usando Formik+Yup para crear un formulario y validación. Mi formulario es de varias páginas y tiene el botón siguiente, que debe desactivarse hasta que todos los campos obligatorios se llenen correctamente (sin error de validación). Todo fue bastante simple (solo estaba usando validateOnMount y el botón de desactivación solo con !formik.isValid) hasta que llegué a la página con botones de opción que deberían mostrar otra pregunta (también con botones de opción) según su respuesta a la pregunta anterior.

Si uso validateOnMount, se ejecutan todas las validaciones (incluso las preguntas que no aparecen), por lo que es imposible activar el botón. El uso de validateOnBlur o OnChange tampoco funcionó por la misma razón. Encontré la solución solo escribiendo declaraciones 'if' realmente largas y difíciles que se ven así

 disabled={ !formik.values.covidStatus || (formik.values.covidStatus === 'covidYes' && !formik.values.igTest) || (formik.values.covidStatus === 'covidYes' && formik.values.igTest === 'IgYes' && (!formik.values.testDate || !formik.values.igNumber)) || (formik.values.covidStatus === 'covidYes' && formik.values.igTest === 'IgNo' && !formik.values.covidDate) }

Traté de escribir una validación personalizada para preguntas de radio y la pregunta es: ¿Es posible determinar cuándo se ejecutará la validación personalizada? Para ser precisos, quiero que la validación se ejecute solo cuando exista un campo.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!