Валідація по структурі schedule

  • Якщо заповнені поля hoursBy, daysBy або period - поле other порожнє.
  • Якщо заповнене поле other - поля hoursBy, daysBy або period порожні.

Валідація hoursBy:

  • якщо в enum вибрано день, тиждень і місяць - то максимальна кількість годин 24, 168 і 744 відповідно.

Валідація daysBy:

  • якщо в enum вибрано тиждень і місяць - то максимальна кількість годин 7 і 31 відповідно.

Валідація period:

  1. startDate < endDate
  2. Періоди можуть перетинатися лише якщо графіки по днях тижня в них не перетинаються.

Валідація period.weekdays:

  • графіки по днях тижня в рамках одного періоду не можуть перетинатися
  • No labels