我在Symfony2中有一个表单,我用buildForm构建它 我添加了这样的约束,
$builder
->add('firstName', 'text', [
'required' => true,
'constraints' => [
new NotBlank(),
],
]
)
一切正常,直到我从html中删除输入并在没有firstName的情况下提交它。我没有得到任何错误,它正常提交。有没有办法绝对需要firstName,即使提交数据中不存在
答案 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());
我不能保证此代码在您的上下文中有效,因为您没有提供控制器代码。