2017-02-16 25 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'在屏幕上可以看到有關此消息的彈出窗口,但我不想彈出消息,需要內嵌字符串在窗體小部件下 –