Валидтор типов, включенное в компонент Validator, проверяет, что данное значение имеет определенный тип данных. Этот тип может быть любым из допустимых типов PHP, любой из функций PHP ctype (например, alnum
, alpha
, digit
и т. Д.), А также FQCN любого класса:
// src/Entity/Author.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Author
{
/**
* @Assert\Type("Ramsey\Uuid\UuidInterface")
*/
protected $id;
/**
* @Assert\Type("string")
*/
protected $firstName;
// ...
}
Начиная с Symfony 4.4, проверяемый тип может быть массивом типов, поэтому вы можете проверить, является ли данный тип значения одним из нескольких возможных типов. В следующем примере свойство $accessCode
может содержать только буквы или только цифры, но не оба:
// src/Entity/Author.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Author
{
// ...
/**
* @Assert\Type(type={"alpha", "digit"})
*/
protected $accessCode;
}