代码之家  ›  专栏  ›  技术社区  ›  user3410843

symfony2服务器端需要一个字段

  •  -1
  • user3410843  · 技术社区  · 7 年前

    我在Symfony2中有一个表单,我正在使用buildForm构建该表单 我添加了这样的约束,

    $builder
    ->add('firstName', 'text', [
            'required' => true,
            'constraints' => [
                new NotBlank(),
            ],
        ]
    )
    

    一切正常,直到我从html中删除输入并提交时没有名字。我没有收到任何错误,它正常提交。有没有办法绝对要求名字,即使提交数据中没有名字

    2 回复  |  直到 7 年前
        1
  •  1
  •   Benoît    7 年前

    您必须对实体使用断言,如 symfony documentation here

    这样地:

    class User
    {
        /**
         * @orm:Column(type="string", nullable=false)
         * @assert:NotBlank
         */
        private $firstname;
    }
    
        2
  •  0
  •   Mike Doe Backs    7 年前

    您未提交任何数据,表单未提交,因此不会触发验证。

    而不是:

    $this->handleRequest($request);
    

    即使缺少数据,也要尝试始终提交表单:

    $form->submit($request->request->all());
    

    我无法保证此代码在您的上下文中有效,因为您没有提供控制器代码。