Bonjour,

Je suis en train de mettre en place une API avec API Platform.
J'ai une entité avec une propriété period de type date.
Je souhaite mettre en place les contrôles nécessaires pour la validation de cette propriété.

Version de symfony : 5.3.10
Documentation sur la validation d'un type date : https://symfony.com/doc/current/refe.../DateTime.html

Ci-dessous ce que j'ai fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
    /**
     * @ORM\Column(type="date")
     * @Assert\NotBlank(
     *      groups = {"postValidation"}
     * )
     * @Assert\DateTime(
     *      groups = {"postValidation"},
     *      message = "La date doit être au format Y-m-d",
     *      format = "Y-m-d"
     * ) 
     */
    private $period;
Via postman, voici les données envoyées :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
{
  "period": "2021-11-24"
}
Et le retour :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
{
    "@context": "/api/contexts/ConstraintViolationList",
    "@type": "ConstraintViolationList",
    "hydra:title": "An error occurred",
    "hydra:description": "period: This value should be of type string.",
    "violations": [
        {
            "propertyPath": "period",
            "message": "This value should be of type string.",
            "code": null
        }
    ]
}
Je me demande ce qui coince... Une idée ? Merci pour vos retours !