Как я могу сделать валидацию, которая не позволит пользователю принимать будущие даты на Symfony Entities.
У меня есть следующий код подтверждения в моем Entity:
/**
* @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;
Благодарю.
Ваше утверждение кажется правильным, поэтому требуемые ошибки должны быть сброшены, если на нем запущен валидатор Symfonies.
Когда вы создаете форму и используете $form->isValid()
, это утверждение автоматически проверяется.
Вы также можете использовать symfonies validator для запуска утверждений без использования форм. Это можно сделать с помощью этого кода:
// 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);
today
утверждение, потому что вы не можете предсказать чью-либо дату рождения.