如何进行验证,不允许用户接受Symfony实体的未来日期。
我的实体中有以下断言代码:
/**
* @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 :(得分: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);