约束要求做什么?

时间:2018-03-22 12:51:17

标签: symfony symfony-forms

表单构建器中必需的约束是什么?如果未提交字段(非空值!),则表示我没有收到相应的错误消息。这个字段只是被忽略了。

$builder 
    ->add('firstname', TextType::class, [ 'constraints' => [new NotBlank()], 'required'=>true]) 
    ->add('lastname', TextType::class, [ 'constraints' => [new NotBlank(),] ,'required'=>true])

怎么说,该领域总是必须提交?

谢谢。

2 个答案:

答案 0 :(得分:0)

必填表示您的字段需要提交值。它与HTML行为类似。

修改

https://symfony.com/doc/current/reference/forms/types/form.html#constraints

https://symfony.com/doc/current/form/without_class.html#form-option-constraints

问题出在你的约束上,我不确定,但是如果在你的表单中添加那些不能解决你的问题,那么看看你是否将断言添加到附加到你表单的实体

https://symfony.com/doc/current/reference/constraints/NotBlank.html

然后在控制器中验证此实体

https://symfony.com/doc/current/validation.html

依赖于此,您可能会在表单中添加错误。

答案 1 :(得分:0)

一位同事找到了解决方案:

在相关实体中,您需要定义一个回调函数,如下所示:

void destroy_tree(node *leaf)
{
  if(leaf!=NULL)
  {
    for(int i=0;i<6;i++)
      destroy_tree(leaf->p[i]);

    delete leaf -> prev;
    delete leaf; 
  }
}