Skip to content

Commit

Permalink
Finished the documentation of the new data comparison validators
Browse files Browse the repository at this point in the history
  • Loading branch information
javiereguiluz authored and weaverryan committed Jun 28, 2015
1 parent 1fa69fe commit 7003445
Show file tree
Hide file tree
Showing 5 changed files with 253 additions and 127 deletions.
83 changes: 55 additions & 28 deletions reference/constraints/GreaterThan.rst
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,19 @@ If you want to ensure that the ``age`` of a ``Person`` class is greater than
.. code-block:: xml
<!-- src/Acme/SocialBundle/Resources/config/validation.xml -->
<class name="Acme\SocialBundle\Entity\Person">
<property name="age">
<constraint name="GreaterThan">
<option name="value">18</option>
</constraint>
</property>
</class>
<?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="GreaterThan">
<option name="value">18</option>
</constraint>
</property>
</class>
</constraint-mapping>
.. code-block:: php
Expand All @@ -86,6 +92,9 @@ If you want to ensure that the ``age`` of a ``Person`` class is greater than
Comparing Dates
---------------

.. versionadded:: 2.6
The feature to compare dates was added in Symfony 2.6.

This constraint can be used to compare ``DateTime`` objects against any date
string `accepted by the DateTime constructor`_. For example, you could check
that a date must at least be the next day:
Expand All @@ -94,15 +103,15 @@ that a date must at least be the next day:

.. code-block:: yaml
# src/OrderBundle/Resources/config/validation.yml
# src/Acme/OrderBundle/Resources/config/validation.yml
Acme\OrderBundle\Entity\Order:
properties:
deliveryDate:
- GreaterThan: today
.. code-block:: php-annotations
// src/Acme/SocialBundle/Entity/Order.php
// src/Acme/OrderBundle/Entity/Order.php
namespace Acme\OrderBundle\Entity;
use Symfony\Component\Validator\Constraints as Assert;
Expand All @@ -118,11 +127,17 @@ that a date must at least be the next day:
.. code-block:: xml
<!-- src/Acme/OrderBundle/Resources/config/validation.xml -->
<class name="Acme\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThan">today</constraint>
</property>
</class>
<?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\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThan">today</constraint>
</property>
</class>
</constraint-mapping>
.. code-block:: php
Expand All @@ -147,15 +162,15 @@ dates. If you want to fix the timezone, append it to the date string:

.. code-block:: yaml
# src/OrderBundle/Resources/config/validation.yml
# src/Acme/OrderBundle/Resources/config/validation.yml
Acme\OrderBundle\Entity\Order:
properties:
deliveryDate:
- GreaterThan: today UTC
.. code-block:: php-annotations
// src/Acme/SocialBundle/Entity/Order.php
// src/Acme/OrderBundle/Entity/Order.php
namespace Acme\OrderBundle\Entity;
use Symfony\Component\Validator\Constraints as Assert;
Expand All @@ -171,11 +186,17 @@ dates. If you want to fix the timezone, append it to the date string:
.. code-block:: xml
<!-- src/Acme/OrderBundle/Resources/config/validation.xml -->
<class name="Acme\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThan">today UTC</constraint>
</property>
</class>
<?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\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThan">today UTC</constraint>
</property>
</class>
</constraint-mapping>
.. code-block:: php
Expand All @@ -201,15 +222,15 @@ current time:

.. code-block:: yaml
# src/OrderBundle/Resources/config/validation.yml
# src/Acme/OrderBundle/Resources/config/validation.yml
Acme\OrderBundle\Entity\Order:
properties:
deliveryDate:
- GreaterThan: +5 hours
.. code-block:: php-annotations
// src/Acme/SocialBundle/Entity/Order.php
// src/Acme/OrderBundle/Entity/Order.php
namespace Acme\OrderBundle\Entity;
use Symfony\Component\Validator\Constraints as Assert;
Expand All @@ -225,11 +246,17 @@ current time:
.. code-block:: xml
<!-- src/Acme/OrderBundle/Resources/config/validation.xml -->
<class name="Acme\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThan">+5 hours</constraint>
</property>
</class>
<?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\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThan">+5 hours</constraint>
</property>
</class>
</constraint-mapping>
.. code-block:: php
Expand Down
71 changes: 49 additions & 22 deletions reference/constraints/GreaterThanOrEqual.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,19 @@ or equal to ``18``, you could do the following:
.. code-block:: xml
<!-- src/Acme/SocialBundle/Resources/config/validation.xml -->
<class name="Acme\SocialBundle\Entity\Person">
<property name="age">
<constraint name="GreaterThanOrEqual">
<option name="value">18</option>
</constraint>
</property>
</class>
<?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="GreaterThanOrEqual">
<option name="value">18</option>
</constraint>
</property>
</class>
</constraint-mapping>
.. code-block:: php
Expand All @@ -85,6 +91,9 @@ or equal to ``18``, you could do the following:
Comparing Dates
---------------

.. versionadded:: 2.6
The feature to compare dates was added in Symfony 2.6.

This constraint can be used to compare ``DateTime`` objects against any date
string `accepted by the DateTime constructor`_. For example, you could check
that a date must at least be the current day:
Expand Down Expand Up @@ -117,11 +126,17 @@ that a date must at least be the current day:
.. code-block:: xml
<!-- src/Acme/OrderBundle/Resources/config/validation.xml -->
<class name="Acme\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThanOrEqual">today</constraint>
</property>
</class>
<?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\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThanOrEqual">today</constraint>
</property>
</class>
</constraint-mapping>
.. code-block:: php
Expand Down Expand Up @@ -170,11 +185,17 @@ dates. If you want to fix the timezone, append it to the date string:
.. code-block:: xml
<!-- src/Acme/OrderBundle/Resources/config/validation.xml -->
<class name="Acme\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThanOrEqual">today UTC</constraint>
</property>
</class>
<?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\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThanOrEqual">today UTC</constraint>
</property>
</class>
</constraint-mapping>
.. code-block:: php
Expand Down Expand Up @@ -224,11 +245,17 @@ current time:
.. code-block:: xml
<!-- src/Acme/OrderBundle/Resources/config/validation.xml -->
<class name="Acme\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThanOrEqual">+5 hours</constraint>
</property>
</class>
<?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\OrderBundle\Entity\Order">
<property name="deliveryDate">
<constraint name="GreaterThanOrEqual">+5 hours</constraint>
</property>
</class>
</constraint-mapping>
.. code-block:: php
Expand Down
Loading

0 comments on commit 7003445

Please sign in to comment.