mirror of
https://github.com/symfony/symfony-docs.git
synced 2026-03-24 00:32:14 +01:00
131 lines
4.0 KiB
ReStructuredText
131 lines
4.0 KiB
ReStructuredText
IsFalse
|
|
=======
|
|
|
|
Validates that a value is ``false``. Specifically, this checks to see if
|
|
the value is exactly ``false``, exactly the integer ``0``, or exactly the
|
|
string ``'0'``.
|
|
|
|
Also see :doc:`IsTrue </reference/constraints/IsTrue>`.
|
|
|
|
========== ===================================================================
|
|
Applies to :ref:`property or method <validation-property-target>`
|
|
Class :class:`Symfony\\Component\\Validator\\Constraints\\IsFalse`
|
|
Validator :class:`Symfony\\Component\\Validator\\Constraints\\IsFalseValidator`
|
|
========== ===================================================================
|
|
|
|
Basic Usage
|
|
-----------
|
|
|
|
The ``IsFalse`` constraint can be applied to a property or a "getter" method,
|
|
but is most commonly useful in the latter case. For example, suppose that
|
|
you want to guarantee that some ``state`` property is *not* in a dynamic
|
|
``invalidStates`` array. First, you'd create a "getter" method::
|
|
|
|
protected string $state;
|
|
|
|
protected array $invalidStates = [];
|
|
|
|
public function isStateInvalid(): bool
|
|
{
|
|
return in_array($this->state, $this->invalidStates);
|
|
}
|
|
|
|
In this case, the underlying object is only valid if the ``isStateInvalid()``
|
|
method returns **false**:
|
|
|
|
.. configuration-block::
|
|
|
|
.. code-block:: php-attributes
|
|
|
|
// src/Entity/Author.php
|
|
namespace App\Entity;
|
|
|
|
use Symfony\Component\Validator\Constraints as Assert;
|
|
|
|
class Author
|
|
{
|
|
#[Assert\IsFalse(
|
|
message: "You've entered an invalid state."
|
|
)]
|
|
public function isStateInvalid(): bool
|
|
{
|
|
// ...
|
|
}
|
|
}
|
|
|
|
.. code-block:: yaml
|
|
|
|
# config/validator/validation.yaml
|
|
App\Entity\Author:
|
|
getters:
|
|
stateInvalid:
|
|
- 'IsFalse':
|
|
message: You've entered an invalid state.
|
|
|
|
.. code-block:: xml
|
|
|
|
<!-- 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 https://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
|
|
|
|
<class name="App\Entity\Author">
|
|
<getter property="stateInvalid">
|
|
<constraint name="IsFalse">
|
|
<option name="message">You've entered an invalid state.</option>
|
|
</constraint>
|
|
</getter>
|
|
</class>
|
|
</constraint-mapping>
|
|
|
|
.. code-block:: php
|
|
|
|
// src/Entity/Author.php
|
|
namespace App\Entity;
|
|
|
|
use Symfony\Component\Validator\Constraints as Assert;
|
|
use Symfony\Component\Validator\Mapping\ClassMetadata;
|
|
|
|
class Author
|
|
{
|
|
// ...
|
|
|
|
public static function loadValidatorMetadata(ClassMetadata $metadata): void
|
|
{
|
|
$metadata->addGetterConstraint('stateInvalid', new Assert\IsFalse([
|
|
'message' => "You've entered an invalid state.",
|
|
]));
|
|
}
|
|
|
|
public function isStateInvalid(): bool
|
|
{
|
|
// ...
|
|
}
|
|
}
|
|
|
|
.. include:: /reference/constraints/_null-values-are-valid.rst.inc
|
|
|
|
Options
|
|
-------
|
|
|
|
.. include:: /reference/constraints/_groups-option.rst.inc
|
|
|
|
``message``
|
|
~~~~~~~~~~~
|
|
|
|
**type**: ``string`` **default**: ``This value should be false.``
|
|
|
|
This message is shown if the underlying data is not false.
|
|
|
|
You can use the following parameters in this message:
|
|
|
|
=============== ==============================================================
|
|
Parameter Description
|
|
=============== ==============================================================
|
|
``{{ value }}`` The current (invalid) value
|
|
``{{ label }}`` Corresponding form field label
|
|
=============== ==============================================================
|
|
|
|
.. include:: /reference/constraints/_payload-option.rst.inc
|