NotIdenticalTo
Edit this pageWarning: You are browsing the documentation for Symfony 2.5, which is no longer maintained.
Read the updated version of this page for Symfony 6.3 (the current stable version).
NotIdenticalTo
2.3
The NotIdenticalTo
constraint was introduced in Symfony 2.3.
Validates that a value is not identical to another value, defined in the options. To force that a value is identical, see IdenticalTo.
Caution
This constraint compares using !==
, so 3
and "3"
are
considered not equal. Use NotEqualTo to compare
with !=
.
Applies to | property or method |
Options | |
Class | NotIdenticalTo |
Validator | NotIdenticalToValidator |
Basic Usage
If you want to ensure that the age
of a Person
class is not equal to
15
and not an integer, you could do the following:
1 2 3 4 5 6
# src/Acme/SocialBundle/Resources/config/validation.yml
Acme\SocialBundle\Entity\Person:
properties:
age:
- NotIdenticalTo:
value: 15
1 2 3 4 5 6 7 8 9 10 11 12 13 14
// src/Acme/SocialBundle/Entity/Person.php
namespace Acme\SocialBundle\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Person
{
/**
* @Assert\NotIdenticalTo(
* value = 15
* )
*/
protected $age;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<!-- src/Acme/SocialBundle/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\SocialBundle\Entity\Person">
<property name="age">
<constraint name="NotIdenticalTo">
<option name="value">15</option>
</constraint>
</property>
</class>
</constraint-mapping>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// src/Acme/SocialBundle/Entity/Person.php
namespace Acme\SocialBundle\Entity;
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints as Assert;
class Person
{
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('age', new Assert\NotIdenticalTo(array(
'value' => 15,
)));
}
}
Options
value
type: mixed
[default option]
This option is required. It defines the value to compare to. It can be a string, number or object.
message
type: string
default: This value should not be identical to {{ compared_value_type }} {{ compared_value }}.
This is the message that will be shown if the value is not equal.