Ip

Валидирует, что значение является валидным IP-адресом. По умолчанию, валидируется значение, как IPv4, но существует несколько разных опций, для валидирования, как IPv6 и многих других комбинаций.

Применяется к свойству или методу
Опции
Класс Ip
Валидатор IpValidator

Базовое применение

  • Annotations
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    // src/Entity/Author.php
    namespace App\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Author
    {
        /**
         * @Assert\Ip
         */
         protected $ipAddress;
    }
    
  • YAML
    1
    2
    3
    4
    5
    # config/validator/validation.yaml
    App\Entity\Author:
        properties:
            ipAddress:
                - Ip: ~
    
  • XML
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    <!-- config/validator/validation.xml -->
    <?xml version="1.0" encoding="UTF-8" ?>
    <constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
    
        <class name="App\Entity\Author">
            <property name="ipAddress">
                <constraint name="Ip" />
            </property>
        </class>
    </constraint-mapping>
    
  • PHP
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    // src/Entity/Author.php
    namespace App\Entity;
    
    use Symfony\Component\Validator\Mapping\ClassMetadata;
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Author
    {
        public static function loadValidatorMetadata(ClassMetadata $metadata)
        {
            $metadata->addPropertyConstraint('ipAddress', new Assert\Ip());
        }
    }
    

Опции

version

тип: string по умолчанию: 4

Определяет, как именно валидируется IP адрес, и может использовать одно из набора разных значений:

Все диапазоны

4
Валидирует для адресов IPv4
6
Валидирует для адресовr IPv6
all
Валидирует все IP-форматы

Без приватных диапазонов

4_no_priv
Валидирует для IPv4, но без приватных IP-диапазонов
6_no_priv
Валидирует для IPv6, но без приватных IP-диапазонов
all_no_priv
Валидирует для всех IP-форматов, но без приватных IP-диапазонов

Без зарезериврованных диапазонов

4_no_res
Валидирует для IPv4, но без зарезериврованных IP-диапазонов
6_no_res
Валидирует для IPv6, но без зарезериврованных IP-диапазонов
all_no_res
Валидирует для всех IP-форматов, но без зарезериврованных IP-диапазонов

Только публичные диапазоны

4_public
Валидирует для IPv4, но без приватных и зарезериврованных IP-диапазонов
6_public
Валидирует для IPv6, но без приватных и зарезериврованных IP-диапазонов
all_public
Валидирует для всех IP-форматов, но без приватных и зарезериврованных IP-диапазонов

message

тип: string по умолчанию: Это не валидный IP-адрес.

Это сообщение отображается, если строка не является валидным IP-адресом.

payload

type: mixed default: null

This option can be used to attach arbitrary domain-specific data to a constraint. The configured payload is not used by the Validator component, but its processing is completely up to you.

For example, you may want to use several error levels to present failed constraints differently in the front-end depending on the severity of the error.

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.