Collection

Π”Π°Ρ‚Π° обновлСния ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° 2023-09-25

Collection

Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° основополоТныС Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ (Ρ‚.Π΅. массивом ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΌ Traversable ΠΈ ArrayAccess), Π½ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ этой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ email, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Email, Π° ΠΊΠ»ΡŽΡ‡ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ inventory с ΠΎΠ³Ρ€Π°Π½Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Range.

Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚, ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ лишниС ΠΊΠ»ΡŽΡ‡ΠΈ.

See also

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Unique.

??????????? ? ???????? ??? ??????
????? Collection
????????? CollectionValidator

Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Collection позволяСт Π²Π°ΠΌ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎ-ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. РассмотритС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// src/Entity/Author.php
namespace App\Entity;

class Author
{
    protected array $profileData = [
        'personal_email' => '...',
        'short_bio' => '...',
    ];

    public function setProfileData($key, $value): void
    {
        $this->profileData[$key] = $value;
    }
}

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ элСмСнт personal_email свойства массива profileData являСтся Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ адрСсом элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, ΠΈ Ρ‡Ρ‚ΠΎ элСмСнт short_bio Π½Π΅ пустой, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 100 символов Π² Π΄Π»ΠΈΠ½Ρƒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// src/Entity/Author.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Author
{
    #[Assert\Collection(
        fields: [
            'personal_email' => new Assert\Email,
            'short_bio' => [
                new Assert\NotBlank,
                new Assert\Length(
                    max: 100,
                    maxMessage: 'Your short bio is too long!'
                )
            ]
        ],
        allowMissingFields: true,
    )]
    protected array $profileData = [
        'personal_email' => '...',
        'short_bio' => '...',
    ];
}

НаличиС ΠΈ отсутствиС ΠΏΠΎΠ»Π΅ΠΉ

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ большС, Ρ‡Π΅ΠΌ просто Ρ„Π°ΠΊΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ полями ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ приписанных ΠΈΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. На самом Π΄Π΅Π»Π΅, Ссли любой ΠΊΠ»ΡŽΡ‡ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ отсутствуСт, ΠΈΠ»ΠΈ Ссли Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ нСраспознанныС ΠΊΠ»ΡŽΡ‡ΠΈ, Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Π½Ρ‹ ошибки Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ отсутствиС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΈΠ»ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ "Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅" ΠΊΠ»ΡŽΡ‡ΠΈ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ соотвСтствСнно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΈ allowMissingFields ΠΈ allowExtraFields. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅, опция allowMissingFields Π±Ρ‹Π»Π° установлСна, ΠΊΠ°ΠΊ "true", Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли Π±Ρ‹ Π² свойствС $personalData отсутствовал элСмСнт personal_email ΠΈΠ»ΠΈ short_bio, Ρ‚ΠΎ ошибки Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ограничСния поля

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Required ΠΈΠ»ΠΈ Optional, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ ΠΎΠ½ΠΈ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ всСгда (Required), ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ поля (Optional).

НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π΅ personal_email массива profileData Π½Π΅ Π±Ρ‹Π»ΠΎ пустым ΠΈ являлось Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ адрСсом элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, Π° ΠΏΠΎΠ»Π΅ alternate_email Π±Ρ‹Π»ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ являлось Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ адрСсом элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ Π² случаС Π΅Π³ΠΎ заполнСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// src/Entity/Author.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class Author
{
    #[Assert\Collection(
        fields: [
            'personal_email' => new Assert\Required([
                new Assert\NotBlank,
                new Assert\Email,
            ]),
            'alternate_email' => new Assert\Optional(
                new Assert\Email
            ),
        ],
    )]
    protected array $profileData = ['personal_email' => 'email@example.com'];
}

Π”Π°ΠΆΠ΅ Ссли allowMissingFields Π½Π΅ установлСн, ΠΊΠ°ΠΊ "true", Π²Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ свойство alternate_email ΠΈΠ· массива profileData, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Optional. ОднакоС, Ссли ΠΏΠΎΠ»Π΅ personal_email Π½Π΅ сущСствуСт Π² массивС, Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ NotBlank всё Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΎΠ±Ρ‘Ρ€Π½ΡƒΡ‚ΠΎ Π² Required) ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ограничСния.

Когда Π²Ρ‹ опрСдСляСтС Π³Ρ€ΡƒΠΏΠΏΡ‹ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ограничСниях, ΠΎΠ½ΠΈ автоматичСски Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² само ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Collection, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ просмотрСно для всСх Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ. Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

1
2
3
4
5
6
7
8
use Symfony\Component\Validator\Constraints as Assert;

$constraint = new Assert\Collection([
    'fields' => [
        'name' => new Assert\NotBlank(['groups' => 'basic']),
        'email' => new Assert\NotBlank(['groups' => 'contact']),
    ],
]);

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

1
2
3
4
5
6
7
8
9
10
11
12
13
$constraint = new Assert\Collection([
    'fields' => [
        'name' => new Assert\Required([
            'constraints' => new Assert\NotBlank(['groups' => 'basic']),
            'groups' => ['basic', 'strict'],
        ]),
        'email' => new Assert\Required([
            "constraints" => new Assert\NotBlank(['groups' => 'contact']),
            'groups' => ['basic', 'strict'],
        ]),
    ],
    'groups' => ['basic', 'strict'],
]);

ΠžΠΏΡ†ΠΈΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ allowMissingFields Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π΅ΠΉ Π²ΠΎ всСх Π³Ρ€ΡƒΠΏΠΏΠ°Ρ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ contact, $name ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым, Π½ΠΎ ΠΊΠ»ΡŽΡ‡ всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ. Если это Π½Π΅ Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, ясно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Optional вмСсто Required.

ΠžΠΏΡ†ΠΈΠΈ

allowExtraFields

Ρ‚ΠΈΠΏ: boolean ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: false

Если эта опция установлСна, ΠΊΠ°ΠΊ false, Π° основополоТная коллСкция содСрТит ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ элСмСнтов, Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Ρ… Π² ΠΎΠΏΡ†ΠΈΡŽ fields, Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π° ошибка Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ. Если установлСна, ΠΊΠ°ΠΊ true, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля допустимы.

allowMissingFields

Ρ‚ΠΈΠΏ: boolean ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: false

Если эта опция установлСна, ΠΊΠ°ΠΊ false, ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ· ΠΎΠΏΡ†ΠΈΠΈ fields ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² освнополоТной ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π° ошибка Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ. Если установлСнка, ΠΊΠ°ΠΊ true, Ρ‚ΠΎ отсутствиС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΎΠΏΡ†ΠΈΠΈ fields Π² основополоТной ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ допускаСтся.

extraFieldsMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ Π½Π΅ оТидалось.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅, Ссли allowExtraFields - "false", ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² этом сообщСнии:

???????? ????????
{{ field }} ???? ????????????? ??????????????? ????

fields

Ρ‚ΠΈΠΏ: array [опция ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ]

Π­Ρ‚Π° опция ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° ΠΈ являСтся ассоциативным массивом, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌ всС ΠΊΠ»ΡŽΡ‡ΠΈ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΈ, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€(Ρ‹) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ для этого элСмСнта ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

groups

type: array | string default: null

It defines the validation group or groups of this constraint. Read more about validation groups.

missingFieldsMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ потсутствуСт.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅, Ссли allowMissingFields - "false", ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² основополоТной ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² этом сообщСнии:

???????? ????????
{{ field }} ???? ?????????????? ????, ????????????? ? fields

Π”Π°Ρ‚Π° обновлСния ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° 2024-07-25

payload

Ρ‚ΠΈΠΏ: mixed ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: null

Π­Ρ‚Π° опция ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, относящиСся ΠΊ Π΄ΠΎΠΌΠ΅Π½Ρƒ. Бконфигурированная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ Π’Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€, Π½ΠΎ Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ зависит ΠΎΡ‚ вас.

НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ ΠΈΡΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ошибок, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ ограничСния Π² Ρ„Ρ€ΠΎΠ½Ρ‚-эндС ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Π² зависимости ΠΎΡ‚ стСпСни слоТности ошибки.