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 <validation-property-target> |
Options | |
Class | Symfony\\Component\\Validator\\Constraints\\Time |
Validator | Symfony\\Component\\Validator\\Constraints\\TimeValidator |
Suppose you have an Event class, with a startAt
field that is the time of the day when the event starts:
# src/Acme/EventBundle/Resources/config/validation.yml
Acme\EventBundle\Entity\Event:
properties:
startsAt:
- Time: ~
// src/Acme/EventBundle/Entity/Event.php
namespace Acme\EventBundle\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class Event
{
/**
* @Assert\Time()
*/
protected $startsAt;
}
<!-- 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>
// 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());
}
}
type: string
default: This value is not a valid time.
This message is shown if the underlying data is not a valid time.