Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

596
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda