Ip
Edit this pageWarning: You are browsing the documentation for Symfony 2.4, which is no longer maintained.
Read the updated version of this page for Symfony 6.3 (the current stable version).
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 | Ip |
Validator | IpValidator |
Basic Usage
1 2 3 4 5
# src/Acme/BlogBundle/Resources/config/validation.yml
Acme\BlogBundle\Entity\Author:
properties:
ipAddress:
- Ip: ~
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;
}
1 2 3 4 5 6 7 8 9 10 11 12
<!-- src/Acme/BlogBundle/Resources/config/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="Acme\BlogBundle\Entity\Author">
<property name="ipAddress">
<constraint name="Ip" />
</property>
</class>
</constraint-mapping>
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 addresses6
- Validates for IPv6 addressesall
- Validates all IP formats
No private ranges
4_no_priv
- Validates for IPv4 but without private IP ranges6_no_priv
- Validates for IPv6 but without private IP rangesall_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 ranges6_no_res
- Validates for IPv6 but without reserved IP rangesall_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 ranges6_public
- Validates for IPv6 but without private and reserved rangesall_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.