Warning: You are browsing the documentation for Symfony 2.0, which is no longer maintained.

Read the updated version of this page for Symfony 5.3 (the current stable version).

Ip

Ip

Validates that a value is a valid IP address. By default, this will validate the value as IPv4, but a number of different options exist to validate as IPv6 and many other combinations.

Applies to property or method
Options
Class Symfony\Component\Validator\Constraints\Ip
Validator Symfony\Component\Validator\Constraints\IpValidator

Basic Usage

  • YAML
    1
    2
    3
    4
    5
    # src/BlogBundle/Resources/config/validation.yml
    Acme\BlogBundle\Entity\Author:
        properties:
            ipAddress:
                - Ip:
    
  • Annotations
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    // src/Acme/BlogBundle/Entity/Author.php
    namespace Acme\BlogBundle\Entity;
    
    use Symfony\Component\Validator\Constraints as Assert;
    
    class Author
    {
        /**
         * @Assert\Ip
         */
         protected $ipAddress;
    }
    
  • XML
    1
    2
    3
    4
    5
    6
    <!-- src/Acme/BlogBundle/Resources/config/validation.xml -->
    <class name="Acme\BlogBundle\Entity\Author">
        <property name="ipAddress">
            <constraint name="Ip" />
        </property>
    </class>
    
  • PHP
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    // src/Acme/BlogBundle/Entity/Author.php
    namespace Acme\BlogBundle\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());
        }
    }
    

Options

version

type: string default: 4

This determines exactly how the ip address is validated and can take one of a variety of different values:

All ranges

  • 4 - Validates for IPv4 addresses
  • 6 - Validates for IPv6 addresses
  • all - Validates all IP formats

No private ranges

  • 4_no_priv - Validates for IPv4 but without private IP ranges
  • 6_no_priv - Validates for IPv6 but without private IP ranges
  • all_no_priv - Validates for all IP formats but without private IP ranges

No reserved ranges

  • 4_no_res - Validates for IPv4 but without reserved IP ranges
  • 6_no_res - Validates for IPv6 but without reserved IP ranges
  • all_no_res - Validates for all IP formats but without reserved IP ranges

Only public ranges

  • 4_public - Validates for IPv4 but without private and reserved ranges
  • 6_public - Validates for IPv6 but without private and reserved ranges
  • all_public - Validates for all IP formats but without private and reserved ranges

message

type: string default: This is not a valid IP address

This message is shown if the string is not a valid IP address.

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.