使用 Doctrine2 注释的 Symfony2 验证
Symfony2 Validation using Doctrine2 Annotations
我有以下 Doctrine 实体,我也想使用它的限制来进行验证。
/**
* @var string
*
* @ORM\Column(type="string", length=40)
* @Assert\Valid
*/
private $birthName;
我使用以下验证,它适用于 symfony 特定注释但不适用于 Doctrine 集限制!
// Validate data
$validator = $this->get('validator');
$errors = $validator->validate($user);
if (count($errors) > 0) {
$response = new JsonResponse(array(
'error' => 'User could not be created.' . PHP_EOL . (string)$errors
));
$response->setStatusCode(400);
return $response;
}
What can I do to let symfony validator use the doctrine restrictions as settings?
现状:
我读过 [1] and [2] 但到目前为止我没有使用表单,因为我有一个控制器返回 JSON。如果您知道如何使用表单进行此操作,也会有很大帮助!
原则映射与验证无关。
代码 @ORM\Column(type="string", length=40)
仅将 属性 映射到数据库字段,并将数据库字段的最大长度设置为等于 40 个字符,如果您使用原则创建模式。
但因此不参与验证过程的任何部分。
所以你需要通过
之类的东西来设置断言规则
/**
* @Assert\Length(max = 40)
*/
我有以下 Doctrine 实体,我也想使用它的限制来进行验证。
/**
* @var string
*
* @ORM\Column(type="string", length=40)
* @Assert\Valid
*/
private $birthName;
我使用以下验证,它适用于 symfony 特定注释但不适用于 Doctrine 集限制!
// Validate data
$validator = $this->get('validator');
$errors = $validator->validate($user);
if (count($errors) > 0) {
$response = new JsonResponse(array(
'error' => 'User could not be created.' . PHP_EOL . (string)$errors
));
$response->setStatusCode(400);
return $response;
}
What can I do to let symfony validator use the doctrine restrictions as settings?
现状:
我读过 [1] and [2] 但到目前为止我没有使用表单,因为我有一个控制器返回 JSON。如果您知道如何使用表单进行此操作,也会有很大帮助!
原则映射与验证无关。
代码 @ORM\Column(type="string", length=40)
仅将 属性 映射到数据库字段,并将数据库字段的最大长度设置为等于 40 个字符,如果您使用原则创建模式。
但因此不参与验证过程的任何部分。 所以你需要通过
之类的东西来设置断言规则 /**
* @Assert\Length(max = 40)
*/