The list of Symfony constraints covers most of the common validation needs for web sites and applications. However, we keep listening to your feedback and adding new constraints proposed by the community.
In Symfony 4.3, we've added a new Timezone constraint to check that the given
value is one of the valid timezones defined by PHP (e.g. Africa/Nairobi
).
1 2 3 4 5 6 7 8 9 10 11 12
// src/Entity/UserSettings.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class UserSettings
{
/**
* @Assert\Timezone
*/
protected $timezone;
}
In addition to the common options defined by most constraints (groups
,
message
, payload
) this constraint defines two additional options:
zone
(to restrict valid timezones to a geographical zone such as Asia or
Australia) and countryCode
(to restrict valid timezones to a single
country):
1 2 3 4 5 6 7 8 9
// Consider valid only the timezones from countries in America continent
/** @Assert\Timezone(zone=\DateTimeZone::AMERICA) */
protected $timezone;
// Consider valid only the Chinese timezones
/** @Assert\Timezone(zone=\DateTimeZone::PER_COUNTRY, countryCode="CN") */
protected $timezone;
We're definitely going to use this when we will migrate to Symfony 4 :D
Thanks! Obviously version 4.3 is the best! Just add the option to doctrine a shorcut to obtain a collection in a query, without having to convert it yourself.