2017-02-16 91 views
-2

如何更改表单验证错误消息样式?该错误消息应该在字段下方可见,但是像小模式窗口。如何更改Symfony的表单验证器错误消息样式?

这是我的形式(与形式验证 - 需要=>真)

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder 
     ->add('customer', 'entity', array(
      'class' => Customer::class, 
      'property' => 'name', 
      'empty_value' => 'Choice Customer', 
      'query_builder' => function ($repository) { 
       /** @var CustomerRepository $repository */ 
       return $repository->getAllQuery(); 
      }, 
      'required' => true 
     )) 
     ->add('invoiceDate', DateType::class, [ 
       'widget' => 'single_text', 
       'required' => false 
      ]) 
     ->add('reversedVat', CheckboxType::class, ['required' => false]) 
     ->add('message') 
     ->add('notes'); 
} 

enter image description here

nedded

enter image description here

+0

你得到的模式是HTML5 /浏览器验证,而不是从symfony本身。 Symfony将添加HTML5属性以形成字段,这会在您尝试提交空白字段时导致类似的模式显示。 https://symfony.com/doc/2.8/reference/forms/types/text.html#required。可能会尝试阅读如何更改html5验证显示https://www.html5rocks.com/en/tutorials/forms/constraintvalidation/#toc-inline-bubbles或在字段上设置字段'required => false'以删除此html标记。 –

回答

0

formnovalidate属性添加到您的窗体submit按钮禁用HTML5验证并允许Symfony执行验证。

然后应根据您的{{form_row(form.field)}}模板显示您的验证错误。

+0

在窗体中我已验证,示例''required'=> false'在屏幕上可以看到有关此消息的弹出窗口,但我不想弹出消息,需要内嵌字符串在窗体小部件下 –