Nuevo en Symfony 4.3: Validador de zonas horarias

Las validaciones de Symfony cubren la mayoría de necesidades comunes de las aplicaciones y sitios web. No obstante, seguimos añadiendo nuevas validaciones en base a los comentarios y peticiones de la comunidad.

En Symfony 4.3 hemos añadido un validador Timezone para comprobar que el valor indicado es una de las zonas horarias válidas definidas por PHP (como por ejemplo, Africa/Nairobi).

// src/Entity/UserSettings.php
namespace App\Entity;
 
use Symfony\Component\Validator\Constraints as Assert;
 
class UserSettings
{
    /**
     * @Assert\Timezone
     */
    protected $timezone;
}

Además de las opciones de configuración habituales de los validadores (como groups, message y payload) este validador define otras dos opciones: zone (para restringir las zonas horarias válidas a una zona geográfica como por ejemplo Asia o Australia) y countryCode (para restringir la validez a un solo país):

// Considera válidas solo las zonas horarias del continente americano
/** @Assert\Timezone(zone=\DateTimeZone::AMERICA) */
protected $timezone;
 
// Considera válidas solo las zonas horarias de China
/** @Assert\Timezone(zone=\DateTimeZone::PER_COUNTRY, countryCode="CN") */
protected $timezone;

Esta funcionalidad fue contribuida por Javier Spagnoletti y Hugo Hamon en el pull request #30900.

Fuente: New in Symfony 4.3: Timezone validator

Comentarios

Publicada el

7 de junio de 2019

Etiquetas

Proyectos Symfony destacados

La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.