亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Symfony,搶先提示/顯示表單中的驗證約束消息

Symfony,搶先提示/顯示表單中的驗證約束消息

PHP
泛舟湖上清波郎朗 2023-04-28 17:14:58
當我有一個表單和一些約束規則時,比如max valueor LessThanOrEqual,我如何顯示這個規則條件以便用戶知道輸入接受什么數據格式?我想顯示在驗證失敗后(表單提交后)出現的相同消息始終可見,在各自附近的某個地方<input>更多信息我在 respective 中有這個buildForm,正如你所看到的,它們LessThanOrEqual具有動態的可能值。因此,最好始終讓用戶了解可以輸入的最大值。    $builder        ->add('amount', null, [            'constraints' => [                new LessThanOrEqual($maxValue)            ]        ])我知道我可以使用help屬性,但是再次定義翻譯文本有點多余,因為所有的驗證規則都已經設置好了。因此,最好只顯示相同的消息,該消息將在提交驗證失敗的表單后出現。所以在我的例子中:該值應小于或等于 {{ compared_value }}謝謝編輯:這將通過實時 javascript 驗證部分解決,實時驗證并通知用戶,只需使用一些 javascript(jQuery,...)插件。但是,在輸入旁邊顯示一條簡單的文本消息(通知驗證規則)也很好——這個 javascript 解決方案無法解決這個問題。編輯 2:在我的樹枝視圖中只是基本的,沒什么特別的:{{ form_start(form) }}    {{ form_widget(form) }}    <button class="btn btn-success">{{ button_label|default('Save'|trans) }}</button>{{ form_end(form) }}
查看完整描述

1 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

從 symfony 4.3 開始,您可以使用“help_translation_parameters”,所以這應該可以工作。


    $constraint = new LessThanOrEqual(7); // create constraint

    $builder

        ->add('amount', null, [

            'constraints' => [

                $constraint

            ],

            'help' => $constraint->message,

            'help_translation_parameters' => ['{{ compared_value }}' => $constraint->value]

        ])

    ;


查看完整回答
反對 回復 2023-04-28
  • 1 回答
  • 0 關注
  • 127 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號