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:
- YAML
# src/Acme/EventBundle/Resources/config/validation.yml Acme\EventBundle\Entity\Event: properties: startsAt: - Time: ~
- Annotations
// src/Acme/EventBundle/Entity/Event.php namespace Acme\EventBundle\Entity; use Symfony\Component\Validator\Constraints as Assert; class Event { /** * @Assert\Time() */ protected $startsAt; }
- XML
<!-- 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>
- PHP
// 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()); } }