當(dāng)我有一個表單和一些約束規(guī)則時,比如max valueor LessThanOrEqual,我如何顯示這個規(guī)則條件以便用戶知道輸入接受什么數(shù)據(jù)格式?我想顯示在驗證失敗后(表單提交后)出現(xiàn)的相同消息始終可見,在各自附近的某個地方<input>更多信息我在 respective 中有這個buildForm,正如你所看到的,它們LessThanOrEqual具有動態(tài)的可能值。因此,最好始終讓用戶了解可以輸入的最大值。 $builder ->add('amount', null, [ 'constraints' => [ new LessThanOrEqual($maxValue) ] ])我知道我可以使用help屬性,但是再次定義翻譯文本有點多余,因為所有的驗證規(guī)則都已經(jīng)設(shè)置好了。因此,最好只顯示相同的消息,該消息將在提交驗證失敗的表單后出現(xiàn)。所以在我的例子中:該值應(yīng)小于或等于 {{ compared_value }}謝謝編輯:這將通過實時 javascript 驗證部分解決,實時驗證并通知用戶,只需使用一些 javascript(jQuery,...)插件。但是,在輸入旁邊顯示一條簡單的文本消息(通知驗證規(guī)則)也很好——這個 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條經(jīng)驗 獲得超2個贊
從 symfony 4.3 開始,您可以使用“help_translation_parameters”,所以這應(yīng)該可以工作。
$constraint = new LessThanOrEqual(7); // create constraint
$builder
->add('amount', null, [
'constraints' => [
$constraint
],
'help' => $constraint->message,
'help_translation_parameters' => ['{{ compared_value }}' => $constraint->value]
])
;
- 1 回答
- 0 關(guān)注
- 130 瀏覽
添加回答
舉報
0/150
提交
取消