Image

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

Image

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Image Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ File, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ ΠΎΠΏΡ†ΠΈΠΈ mimeTypes ΠΈ mimeTypesMessage автоматичСски ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту изобраТСния.

Π‘ΠΌ. ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ File, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ этого ограничСния.

??????????? ? ???????? ??? ??????
????? Image
????????? ImageValidator

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

Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² свойствС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π΅ FileType. НапримСр, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ создаётС Ρ„ΠΎΡ€ΠΌΡƒ Π°Π²Ρ‚ΠΎΡ€Π°, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ "ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚" (headshot) Π°Π²Ρ‚ΠΎΡ€Π°. Π’ вашСй Ρ„ΠΎΡ€ΠΈΠ΅, свойство headshot Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΈΠΏΠΎΠΌ file. Класс Author ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

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

use Symfony\Component\HttpFoundation\File\File;

class Author
{
    protected File $headshot;

    public function setHeadshot(File $file = null): void
    {
        $this->headshot = $file;
    }

    public function getHeadshot(): File
    {
        return $this->headshot;
    }
}

Π§Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ headshot File являСтся Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

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

use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\Validator\Constraints as Assert;

class Author
{
    #[Assert\Image(
        minWidth: 200,
        maxWidth: 400,
        minHeight: 200,
        maxHeight: 400,
    )]
    protected File $headshot;
}

Бвойство headshot валидируСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это настоящСС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ находится Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ headshot являСтся ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ. Π’ этом случаС, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΊΠΎΠ΄Π΅:

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

use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\Validator\Constraints as Assert;

class Author
{
    #[Assert\Image(
        allowLandscape: false,
        allowPortrait: false,
    )]
    protected File $headshot;
}

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ всС ΠΎΠΏΡ†ΠΈΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠΎΡ‰Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ.

ΠžΠΏΡ†ΠΈΠΈ

Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ всС ΠΎΠΏΡ†ΠΈΠΈ вмСстС с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ File. Однако, ΠΎΠ½ΠΎ измСняСтся Π΄Π²Π° значСния ΠΎΠΏΡ†ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΡ†ΠΈΠΉ.

allowLandscape

Ρ‚ΠΈΠΏ: Boolean ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: true

Если эта опция - false, Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.

allowLandscapeMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ({{ width }}x{{ height }} пиксСлСй). Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ с Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, Ссли ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Π° Π²Ρ‹ установили allowLandscape, ΠΊΠ°ΠΊ false.

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

???????? ????????
{{ height }} ??????? ??????
{{ width }} ??????? ??????

allowPortrait

Ρ‚ΠΈΠΏ: Boolean ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: true

Если эта опция - false, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ.

allowPortraitMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ({{ width }}x{{ height }} пиксСлСй). Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ с Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, Ссли ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Π° Π²Ρ‹ установили allowPortrait, ΠΊΠ°ΠΊ false.

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

???????? ????????
{{ height }} ??????? ??????
{{ width }} ??????? ??????

allowSquare

Ρ‚ΠΈΠΏ: Boolean ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: true

Если эта опция - "false", Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ, Ρ‚ΠΎ ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ этой ΠΎΠΏΡ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ true, ΠΈ установитС ΠΈ allowLandscape, ΠΈ allowPortrait ΠΊΠ°ΠΊ false.

allowSquareMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ являСтся ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ ({{ width }}x{{ height }}px). ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ изобраТСния Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, Ссли ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ являСтся ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠΌ, Π° Π²Ρ‹ установили allowSquare, ΠΊΠ°ΠΊ false.

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

???????? ????????
{{ height }} ??????? ??????
{{ width }} ??????? ??????

corruptedMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π€Π°ΠΉΠ» изобраТСния ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, ΠΊΠΎΠ³Π΄Π° опция detectCorrupted ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΎ.

Π­Ρ‚ΠΎ сообщСниС Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

detectCorrupted

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

Если эта опция - "true", Ρ‚ΠΎ содСрТимоС изобраТСния валидируСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΎ. Π­Ρ‚Π° валидация проводится с PHP-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ imagecreatefromstring, которая Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ PHP GD Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ.

groups

type: array | string default: null

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

maxHeight

Ρ‚ΠΈΠΏ: integer

Если установлСна, Ρ‚ΠΎ высота Ρ„Π°ΠΉΠ»Π° изобраТСния Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ мСньшС, ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° этому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π² пиксСлях.

maxHeightMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Высота изобраТСния слишком большая ({{ height }}px). Максимальная позволСнная высота - {{ max_height }} пиксСлСй.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, Ссли высота изобраТСния ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ maxHeight.

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

???????? ????????
{{ height }} ??????? (??????????) ??????
{{ max_height }} ???????????? ??????????? ??????

maxPixels

Ρ‚ΠΈΠΏ: integer

Если установлСна, Ρ‚ΠΎ количСство пиксСлСй Ρ„Π°ΠΉΠ»Π° изобраТСния Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ этому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

maxPixelsMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ пиксСлСй ({{ pixels }} пиксСлСй). МаксимальноС ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ количСство - {{ max_pixels }} пиксСлСй.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, Ссли количСство пиксСлСй изобраТСния ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ maxPixels.

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

???????? ????????
{{ height }} ??????? ?????? ???????????
{{ max_pixels }} ???????????? ??????????? ?????????? ????????
{{ pixels }} ??????? ?????????? ????????
{{ width }} ??????? ?????? ???????????

maxRatio

Ρ‚ΠΈΠΏ: float

Если установлСна, Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ аспСктов (width / height) Ρ„Π°ΠΉΠ»Π° изобраТСния Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ мСньшС, ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ этому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

maxRatioMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π‘ΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½Π΅ изобраТСния слишком большоС ({{ ratio }}). МаксимальноС ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ - {{ max_ratio }}

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, Ссли ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ изобраТСния ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ maxRatio.

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

???????? ????????
{{ max_ratio }} ???????????? ??????????? ???????????
{{ ratio }} ??????? (??????????) ???????????

maxWidth

Ρ‚ΠΈΠΏ: integer

Если установлСна, Ρ‚ΠΎ ΡˆΠΈΡ€ΠΈΠ½Π° Ρ„Π°ΠΉΠ»Π° изобраТСния Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ мСньшС, ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° этому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π² пиксСлях.

maxWidthMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π¨ΠΈΡ€ΠΈΠ½Π° изобраТСния слишком большая ({{ width }}px). Максимальная позволСнная ΡˆΠΈΡ€ΠΈΠ½Π° - {{ max_width }} пиксСлСй.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, Ссли ΡˆΠΈΡ€ΠΈΠ½Π° изобраТСния ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ maxWidth.

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

???????? ????????
{{ max_width }} ???????????? ??????????? ??????
{{ width }} ??????? (??????????) ??????

mimeTypes

Ρ‚ΠΈΠΏ: array ΠΈΠ»ΠΈ string default: image/*

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ список ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… mime-Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° сайтС IANA.

mimeTypesMessage

Ρ‚ΠΈΠΏ: string default: Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» Π½Π΅ являСтся Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

If all the values of the mimeTypes option are a subset of image/*, the error message will be instead: The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.

You can use the following parameters in this message:

Parameter Description
{{ file }} Absolute file path
{{ name }} Base file name
{{ type }} The MIME type of the given file
{{ types }} The list of allowed MIME types

minHeight

Ρ‚ΠΈΠΏ: integer

Если установлСна, Ρ‚ΠΎ высота Ρ„Π°ΠΉΠ»Π° изобраТСния Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ большС, ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° этому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π² пиксСлях.

minHeightMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Высота изобраТСния слишком малСнькая ({{ height }}px). Минимальная позволСнная высота - {{ min_height }} пиксСлСй.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, Ссли высота изобраТСния мСньшС, Ρ‡Π΅ΠΌ minHeight.

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

???????? ????????
{{ height }} ??????? (??????????) ??????
{{ min_height }} ??????????? ??????????? ??????

minPixels

Ρ‚ΠΈΠΏ: integer

Если установлСна, Ρ‚ΠΎ количСство пиксСлСй Ρ„Π°ΠΉΠ»Π° изобраТСния Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ этому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

minPixelsMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ слишком ΠΌΠ°Π»ΠΎ пиксСлСй ({{ pixels }} пиксСлСй). МинимальноС ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ количСство - {{ min_pixels }} пиксСлСй.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, Ссли количСство пиксСлСй изобраТСния мСньшС, Ρ‡Π΅ΠΌ minPixels.

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

???????? ????????
{{ height }} ??????? ?????? ???????????
{{ min_pixels }} ??????????? ??????????? ?????????? ????????
{{ pixels }} ??????? ?????????? ????????
{{ width }} ??????? ?????? ???????????

minRatio

Ρ‚ΠΈΠΏ: float

Если установлСна, Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ аспСктов (width / height) Ρ„Π°ΠΉΠ»Π° изобраТСния Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ большС, ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ этому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

minRatioMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π‘ΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½Π΅ изобраТСния слишком малСнькоС ({{ ratio }}). МинимальноС ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ - {{ min_ratio }}

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, Ссли ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ изобраТСния мСньшС, Ρ‡Π΅ΠΌ minRatio.

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

???????? ????????
{{ min_ratio }} ??????????? ??????????? ???????????
{{ ratio }} ??????? (??????????) ???????????

minWidth

Ρ‚ΠΈΠΏ: integer

Если установлСна, Ρ‚ΠΎ ΡˆΠΈΡ€ΠΈΠ½Π° Ρ„Π°ΠΉΠ»Π° изобраТСния Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ большС, ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° этому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π² пиксСлях.

minWidthMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π¨ΠΈΡ€ΠΈΠ½Π° изобраТСния слишком малСнькая ({{ width }}px). Минимальная позволСнная ΡˆΠΈΡ€ΠΈΠ½Π° - {{ min_width }} пиксСлСй.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ошибки, Ссли ΡˆΠΈΡ€ΠΈΠ½Π° изобраТСния мСньшС, Ρ‡Π΅ΠΌ minWidth.

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

???????? ????????
{{ min_width }} ??????????? ??????????? ??????
{{ width }} ??????? (??????????) ??????

sizeNotDetectedMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π Π°Π·ΠΌΠ΅Ρ€ изобраТСния Π½Π΅ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½.

Если систСма Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ изобраТСния, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° эта ошибка. Π­Ρ‚ΠΎ случится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π±Ρ‹Π»ΠΎ установлСно хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

Π­Ρ‚ΠΎ сообщСниС Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².