add validation for date interval

This commit is contained in:
Julien Fastré 2018-05-04 12:10:11 +02:00
parent 0df80041fb
commit f19c9e85dc
2 changed files with 20 additions and 3 deletions

View File

@ -28,10 +28,16 @@ class SingleTask extends AbstractTask
*
* @ORM\Column(name="start_date", type="date", nullable=true)
* @Assert\Date()
*
* @Assert\Expression(
* "value === null or value < this.getEndDate()",
* "value === null or this.getEndDate() === null or value < this.getEndDate()",
* message="The start date must be before the end date"
* )
*
* @Assert\Expression(
* "value === null or this.getWarningDate() === null or this.getWarningDate() > this.getStartDate()",
* message="The start date must be before warning date"
* )
*/
private $startDate;
@ -45,8 +51,16 @@ class SingleTask extends AbstractTask
/**
* @var \DateInterval
* and this.getEndDate() === null
*
* @ORM\Column(name="warning_interval", type="dateinterval", nullable=true)
*
* @Assert\Expression(
* "!(value != null and this.getEndDate() == null)",
* message="An end date is required if a warning interval is set"
* )
*
*
*/
private $warningInterval;
@ -65,7 +79,8 @@ class SingleTask extends AbstractTask
* @var \Doctrine\Common\Collections\Collection
* @ORM\OneToMany(
* targetEntity="\Chill\TaskBundle\Entity\Task\SingleTaskPlaceEvent",
* mappedBy="task"
* mappedBy="task",
* cascade={ "remove" }
* )
*/
private $taskPlaceEvents;

View File

@ -1,2 +1,4 @@
The start date must be before the end date: La date de début doit être avant la date de fin
The start date must be before the end date: La date de début doit être avant la date d'échéance
This form contains errors: Le formulaire contient des erreurs
The start date must be before warning date: La date de début doit être avant le délai d'avertissement
An end date is required if a warning interval is set: Une date d'échéance est requise lorsqu'un délai de rappel est fixé