Php 使用Doctrine2注释的Symfony2验证

Php 使用Doctrine2注释的Symfony2验证,php,validation,symfony,doctrine-orm,symfony-validator,Php,Validation,Symfony,Doctrine Orm,Symfony Validator,我有下面的条令实体,我想使用它的限制也进行验证 /** * @var string * * @ORM\Column(type="string", length=40) * @Assert\Valid */ private $birthName; 我使用以下验证,它适用于特定于symfony的注释,但不适用于规则集限制 // Validate data $validator = $this->get('validator'); $errors = $validator->v

我有下面的条令实体,我想使用它的限制也进行验证

/**
 * @var string
 *
 * @ORM\Column(type="string", length=40)
 * @Assert\Valid
 */
private $birthName;
我使用以下验证,它适用于特定于symfony的注释,但不适用于规则集限制

// 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;
}
如何让symfony validator使用条令限制作为设置

现状:

我阅读了[]和[],但到目前为止我没有使用表单,因为我有一个返回JSON的控制器。如果您知道如何使用表单来实现这一点,也会有很大帮助

条令映射与验证无关。 代码
@ORM\Column(type=“string”,length=40)
仅将属性映射到数据库字段,并将数据库字段的最大长度设置为等于40个字符,前提是您要使用条令创建架构

但因此不参与任何验证过程。 因此,您需要通过以下方式设置断言规则

   /**
   * @Assert\Length(max = 40)
   */

条令映射与验证无关。 代码
@ORM\Column(type=“string”,length=40)
仅将属性映射到数据库字段,并将数据库字段的最大长度设置为等于40个字符,前提是您要使用条令创建架构

但因此不参与任何验证过程。 因此,您需要通过以下方式设置断言规则

   /**
   * @Assert\Length(max = 40)
   */

条令映射与验证无关。 代码
@ORM\Column(type=“string”,length=40)
仅将属性映射到数据库字段,并将数据库字段的最大长度设置为等于40个字符,前提是您要使用条令创建架构

但因此不参与任何验证过程。 因此,您需要通过以下方式设置断言规则

   /**
   * @Assert\Length(max = 40)
   */

条令映射与验证无关。 代码
@ORM\Column(type=“string”,length=40)
仅将属性映射到数据库字段,并将数据库字段的最大长度设置为等于40个字符,前提是您要使用条令创建架构

但因此不参与任何验证过程。 因此,您需要通过以下方式设置断言规则

   /**
   * @Assert\Length(max = 40)
   */
是否有东西可以从条令注释“生成”断言?是否有东西可以从条令注释“生成”断言?是否有东西可以从条令注释“生成”断言?是否有东西可以从条令注释“生成”断言?