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

594
Views
¿Cómo hacer que la fecha de finalización sea como máximo un día después de la fecha de inicio en la validación de Yup?

Actualmente, tengo un esquema sí para asegurarme de que end_time sea al menos posterior a start_time

 start_time: yup .date() .min(new Date(), 'Start datetime cannot be in the past') .required('Start datetime is required'), end_time: yup .date() .min(yup.ref('start_time'), 'End datetime must be after start datetime') .required('End datetime is required'),

Quiero hacerlo de modo que end_time sea como máximo 1 día/24 horas después de start_time. Por ejemplo, si start_time es "Mon Apr 11 2022 18:30:00" , quiero que end_time sea como máximo "Tue Apr 12 2022 18:30:00" . Pensaría en usar .when() o .max() , pero no estoy seguro del formato de cómo comenzar.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Para cualquiera que se encuentre con un problema similar, he logrado resolver el problema usando el método .when() en el objeto Schema

 start_time: yup .date() .min(new Date(), 'Start datetime cannot be in the past') .required('Start datetime is required'), end_time: yup .date() .when('start_time', (start_time, schema) => { if (start_time) { const currentDay = new Date(start_time.getTime()); const nextDay = new Date(start_time.getTime() + 86400000); return schema .min(currentDay, 'End time must be after start time') .max(nextDay, 'End time cannot be more than 24 hours after start time'); } else { return schema; } }) .required('End datetime is required'),
about 4 years ago · Juan Pablo Isaza Report
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!