2015-12-07 2 views
1

Как я могу сделать валидацию, которая не позволит пользователю принимать будущие даты на Symfony Entities.Утверждение о будущих датах в Symfony 2.7

У меня есть следующий код Assertion в моей Сущности:

/** 
* @var date 
* 
* @ORM\Column(name="birthday", type="date") 
* @Assert\NotBlank(message="Please enter your birthday.", groups={"Registration", "Profile", "AdminEdit"}) 
* @Assert\LessThanOrEqual("+1 year Asia/Tokyo", message="Invalid date", groups={"Registration", "Profile", "AdminEdit"}) 
* 
*/ 

private $birthday; 

Спасибо.

+0

Я думаю, вы должны использовать утверждение 'today', потому что вы не можете предсказать дату рождения какого-либо человека. –

ответ

0

Ваше утверждение кажется правильным, поэтому требуемые ошибки должны быть сброшены, если на нем запущен валидатор Symfonies.

Когда вы создаете форму и используете $form->isValid(), это утверждение автоматически проверяется.

Вы также можете использовать средство проверки symfonies для запуска утверждений без использования форм. Это можно сделать с помощью этого кода:

// fetch the validator from the symfony container (assuming you're in a controller) 
$validator = $this->get('validator'); 
// run it and return errors 
$errors = $validator->validate($author); 
Смежные вопросы