Тип
Дата оновлення перекладу 2022-12-20
Тип
Валідує, що значення є конкретним типом даних. Наприклад, якщо змінна повинна
бути масивом, то ви можете використати це обмеження з опцією типу array
, щоб
валідувати це.
?????????????? ?? | ??????????? ??? ?????? |
???? | Type |
????????? | TypeValidator |
Базове застосування
Це перевірить, чи є emailAddress
екземпляром Symfony\Component\Mime\Address
,
чи firstName
має тип string
(використовуючи PHP-функцію is_string),
чи age
- integer
(використовуючи PHP-функцію is_int) та чи містить
accessCode
або лише літери, або лише цифри (викоритовуючи PHP-функції ctype_alpha
та ctype_digit).
- Attributes
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
// src/Entity/Author.php
namespace App\Entity;
use Symfony\Component\Mime\Address;
use Symfony\Component\Validator\Constraints as Assert;
class Author
{
#[Assert\Type(Address::class)]
protected $emailAddress;
#[Assert\Type('string')]
protected $firstName;
#[Assert\Type(
type: 'integer',
message: 'Значення {{ value }} не є валідним {{ type }}.',
)]
protected $age;
#[Assert\Type(type: ['alpha', 'digit'])]
protected $accessCode;
}
Дата оновлення перекладу 2022-12-20
Note
Як і у більшості інших обмежень, null
вважається валідним значенням.
Це для того, щоб дозволити використання опціональних значень. Якщо значення
є обовʼязковим, розповсюдженим рішенням буде комбінація цього обмеження з
NotNull.
Опції
Дата оновлення перекладу 2022-12-20
groups
тип: array
| string
Визначаэ групу або групи валідації обмеження. Прочитайте більше про групи валідації.
message
тип: string
за замовчуванням: Це значення має бути типом {{ type }}.
Відображуване повідомлення, якщо дані, що лежать в основі, не є заданим типом.
Ви можете використати наступні параметри у цьому повідомленні:
???????? | ???? |
---|---|
{{ type }} |
?????????? ??? |
{{ value }} |
??????? (?????????) ???????? |
{{ label }} |
??????????? ????? ???? ????? |
Дата оновлення перекладу 2022-12-20
payload
тип: mixed
за замовчуванням: null
Ця опція може бути використана, щоб додати довільні дані, специфічні для домену, до обмеження. Сконфігуроване корисне навантаження не використовується компонентом Validator, але його обробка повністю залежить від вас.
Наприклад, ви можете захотіти використати декілька рівнів помилок, щоб представити неуспішні обмеження по-різному у фронтенді, залежно від серйозності помилки.
type
тип: string
або array
[опція за замовчуванням ]
Ця обовʼязкова опція визначає тип або колекцію типів, дозволених для заданого
значення. Кожний тип є або FQCN (повністю кваліфікованим іменем класу) якогось
класу/інтерфейсу PHP, або валідним типом даних PHP (що перевіряється функціями PHP is_()
):
- array
- bool
- callable
- float
- double
- int
- integer
- iterable
- long
- null
- numeric
- object
- real
- resource
- scalar
- string
Також ви можете використовувати функції ctype_*()
через відповідні
вбудовані PHP-розширення. Перегляньте список функцій ctype:
Переконайтеся, що встановлена правильна локаль перед тим, як використовувати одну з них.