Time
Edit this pageWarning: You are browsing the documentation for Symfony 2.2, which is no longer maintained.
Read the updated version of this page for Symfony 6.3 (the current stable version).
Time
Validates that a value is a valid time, meaning either a DateTime
object
or a string (or an object that can be cast into a string) that follows
a valid "HH:MM:SS" format.
Applies to | property or method |
Options | |
Class | Time |
Validator | TimeValidator |
Basic Usage
Suppose you have an Event class, with a startAt
field that is the time
of the day when the event starts:
1 2 3 4 5
# src/Acme/EventBundle/Resources/config/validation.yml
Acme\EventBundle\Entity\Event:
properties:
startsAt:
- Time: ~
1 2 3 4 5 6 7 8 9 10 11 12
// src/Acme/EventBundle/Entity/Event.php
namespace Acme\EventBundle\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Event
{
/**
* @Assert\Time()
*/
protected $startsAt;
}
1 2 3 4 5 6 7 8 9 10 11 12
<!-- src/Acme/EventBundle/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\EventBundle\Entity\Event">
<property name="startsAt">
<constraint name="Time" />
</property>
</class>
</constraint-mapping>
1 2 3 4 5 6 7 8 9 10 11 12 13
// src/Acme/EventBundle/Entity/Event.php
namespace Acme\EventBundle\Entity;
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints as Assert;
class Event
{
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('startsAt', new Assert\Time());
}
}
This work, including the code samples, is licensed under a
Creative Commons BY-SA 3.0
license.