Cidr

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

Cidr

Π’Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ являСтся Π²Π°Π»ΠΈΠ΄Π½ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ CIDR (БСсклассовой адрСсации). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, это Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ IP ΠΈ маску сСти CIDR ΠΊΠ°ΠΊΠΊ для вСрсии 4, Ρ‚Π°ΠΊ ΠΈ 6, с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π°Π»ΠΈΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° вСрсии IP. It also supports a minimum and maximum range constraint in which the value of the netmask is valid.

??????????? ? property or method
????? Cidr
????????? CidrValidator

Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ использованиС

1
2
3
4
5
6
7
8
9
10
// src/Entity/NetworkSettings.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class NetworkSettings
{
    #[Assert\Cidr]
    protected string $cidrNotation;
}

Note

As with most of the other constraints, null and empty strings are considered valid values. This is to allow them to be optional values. If the value is mandatory, a common solution is to combine this constraint with NotBlank.

ΠžΠΏΡ†ΠΈΠΈ

groups

type: array | string default: null

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

message

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ являСтся Π²Π°Π»ΠΈΠ΄Π½ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ CIDR.

Π­Ρ‚ΠΎ сообщСниС отобрраТаСтся, Ссли строка Π½Π΅ являСтся Π²Π°Π»ΠΈΠ΄Π½ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ CIDR.

netmaskMin

Ρ‚ΠΈΠΏ: integer ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: 0

Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ для минимального значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ валидная маска сСти.

netmaskMax

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: 32 для IPv4 ΠΈΠ»ΠΈ 128 для IPv6

Π­Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ для максимального значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ валидная маска сСти.

netmaskRangeViolationMessage

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ маски сСти Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ {{ min }} ΠΈ {{ max }}.

Π­Ρ‚ΠΎ сообщСниС отобраТаСтся, Ссил Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ маски сСти CIDR большС значСния netmaskMax ΠΈΠ»ΠΈ мСньшС значСния netmaskMin.

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

???????? ????????
{{ min }} ??????????? ????????, ??????? ????? ????? ????? ???? CIDR
{{ max }} ???????????? ????????, ??????? ????? ????? ????? ???? CIDR

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

payload

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

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

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

version

Ρ‚ΠΈΠΏ: string ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: all

Π­Ρ‚ΠΎ опрСдСляСт ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ валидируСтся нотация CIDR ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° вСрсий IP .

7.1

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° всСх Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² вСрсий IP Π±Ρ‹Π»Π° прСдставлСна Π² Symfony 7.1.