簡體   English   中英

Symfony:不顯示表單錯誤消息

[英]Symfony : form error message not displayed

我正在使用 Symfony 創建一個表單,它工作得很好,但是我的驗證有問題,我填寫了一個必填字段而不是空白,但是當我提交輸入為空的表單時不顯示錯誤消息我沒有知道為什么

有一部分代碼:

表格類型:

use Symfony\Component\Validator\Constraints\NotBlank;

class AnnonceurType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
      <some fields>
            ->add('phone', TextType::class, [
                'required' => true,
                'constraints' =>[
                    new NotBlank()
                ]
            ])
     }
}

表格模板:

{{ form_start(form) }}
 <some fields>
        <div class="form-group">
            {{ form_label(form.phone, 'Phone number') }} *
            {{ form_widget(form.phone, { 'attr': {'class': 'form-control'}}) }}
        </div>

        <div class="float-right">
            <button type="submit" class="btn btn-primary">
                  {{ 'submit'|trans() }}
            </button>
        </div>
        <div class="form-error">
            {{ form_errors(form) }}
         </div>
   
{{ form_end(form) }}

有人知道我的代碼有什么問題嗎? 感謝您

更新:已解決,這是因為需要,我添加了一個 novalidate ,現在可以了

function form_errors將 output 的錯誤與特定字段關聯。 在這種情況下,由於根表單沒有任何錯誤,因此它什么也不顯示。

您可以:

  • 按字段單獨呈現錯誤: form_errors(form.phone)
  • 在表單字段中使用選項error_bubbling ,因此錯誤冒泡到父級並按預期工作。

此外,由於您似乎正在使用引導程序,您可以配置form_theme以使用引導程序布局; 它會自動 output 字段錯誤作為form_label調用的一部分,盡管您將失去精細控制其渲染的能力。

if($form->issubmitted()){
$form['phone']->addError(new FormError('display message here'))
if($form->isValid()){

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM