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

Require a field in symfony2 server side

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

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

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

您必须按照 symfony documentation here

中的说明对您的实体使用断言

像这样:

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

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

而不是:

$this->handleRequest($request);

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

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

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