Php 在Symfony 2.7中声明未来日期

Php 在Symfony 2.7中声明未来日期,php,symfony,Php,Symfony,如何进行验证,确保用户不会接受Symfony实体上的未来日期 我的实体中有以下断言代码: /** * @var date * * @ORM\Column(name="birthday", type="date") * @Assert\NotBlank(message="Please enter your birthday.", groups={"Registration", "Profile", "AdminEdit"}) * @Assert\LessThanOrEqual("+1

如何进行验证,确保用户不会接受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;

谢谢。

您的断言似乎是正确的,因此在其上运行Symfonies validator时应该抛出所需的错误

创建表单并使用
$form->isValid()
时,会自动检查此断言

您还可以使用symfoniesvalidator来运行断言,而不使用表单。这可以使用以下代码完成:

// 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);

您的断言似乎是正确的,因此在运行Symfonies验证器时应该抛出所需的错误

创建表单并使用
$form->isValid()
时,会自动检查此断言

您还可以使用symfoniesvalidator来运行断言,而不使用表单。这可以使用以下代码完成:

// 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
断言,因为你无法预测任何人的生日。我认为你应该使用
today
断言,因为你无法预测任何人的生日。