Enum-Typ mit [#Assert\Choice] validierenPhp

PHP-Programmierer chatten hier
Anonymous
 Enum-Typ mit [#Assert\Choice] validieren

Post by Anonymous »

Ich versuche, den Enum-Typ innerhalb einer benutzerdefinierten DTO-Klasse zu validieren. Ich versuche, das Symfony-Attribut #[Assert\Choice] zu verwenden, aber es scheint, dass es nicht funktioniert, wenn ich einen falschen Wert übergebe.
Benutzerdefiniertes DTO:

Code: Select all

#[Assert\Choice(callback: 'getConditionTypes')]
public string $conditionType;

public static function getConditionTypes(): array
{
return array_column(ConditionType::cases(), 'name');
}
Enum-Klasse:

Code: Select all

enum ConditionType: string
{
case NEW = "NEW";
case USED = "USED";
case CRASHED = "CRASHED";
case BROKEN = "BROKEN";
case FOR_PARTS = "FOR_PARTS";
}
Wenn ich versuche, über Postman einen ConditionType mit einem falschen Wert zu übergeben, zum Beispiel „conditionType“: „rand“, passiert er das DTO ohne Probleme und ich versuche abzufangen, ob ein falscher Wert vorliegt. Was übersehe ich?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post