在symfony2服务器端需要一个字段

时间:2018-02-21 09:57:34

标签: symfony symfony-forms symfony-2.6

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

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

一切正常,直到我从html中删除输入并在没有firstName的情况下提交它。我没有得到任何错误,它正常提交。有没有办法绝对需要firstName,即使提交数据中不存在

2 个答案:

答案 0 :(得分:1)

您必须按照symfony documentation here

中的说明对您的实体使用断言 像这样:

class User
{
    /**
     * @orm:Column(type="string", nullable=false)
     * @assert:NotBlank
     */
    private $firstname;
}

答案 1 :(得分:0)

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

而不是:

$this->handleRequest($request);

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

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

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