我正在尝试将所有NotBlank错误消息合并为一个。
如果错误数组包含至少1个NotBlank类型的错误,我希望它只显示一条消息,例如“请填写所有字段。”
我该怎么做?
这是我的枝条代码
{{form_start(form, {'attr': {'novalidate': 'novalidate'}})}}
<div>
{{form_widget(form.firstName)}}
{{form_widget(form.lastName)}}
</div>
<div>
{{form_widget(form.username)}}
{{form_widget(form.email)}}
</div>
<div>
{{form_widget(form.password.first, {'attr' : { 'placeholder' : 'Password' } })}}
{{form_widget(form.password.second, {'attr' : { 'placeholder' : 'Confirm Password' } })}}
</div>
<div>
{{form_label(form.birthday)}}
</div>
<div>
{{form_widget(form.birthday)}}
</div>
<div>
{{form_widget(form.gender)}}
</div>
<div>
{{form_widget(form.save)}}
</div>
{{ form_errors(form.firstName) }}
{{ form_errors(form.lastName) }}
{{ form_errors(form.username) }}
{{ form_errors(form.email) }}
{{ form_errors(form.password.first) }}
{{form_end(form)}}
答案 0 :(得分:0)
您可以创建CallbackValidator
http://symfony.com/doc/current/reference/constraints/Callback.html
并在validate
方法中,检查至少一个所需字段是否为空,如果为true,则调用
/**
* @Assert\Callback
*/
public function validate(ExecutionContextInterface $context)
{
if(empty($this->field1) || empty($this->field2)) {
$context->addViolation($message);
}
}
这样您就会收到全局表单错误。