ボタンが 3 つあるフォームがあります。1 つはオブジェクトの追加用、1 つは削除用、もう 1 つはオブジェクトの編集用です。
Symfony 2.3 で導入された新しいフォーム ボタンを使用して、追加ボタンの html5 検証を無効にしたいと考えています。これは可能ですか、それとも新しいボタン タイプを作成する必要がありますか? どうすればそれができますか?
ボタンが 3 つあるフォームがあります。1 つはオブジェクトの追加用、1 つは削除用、もう 1 つはオブジェクトの編集用です。
Symfony 2.3 で導入された新しいフォーム ボタンを使用して、追加ボタンの html5 検証を無効にしたいと考えています。これは可能ですか、それとも新しいボタン タイプを作成する必要がありますか? どうすればそれができますか?
フォームの検証を無効にするにはformnovalidate
、送信ボタンで使用します。
例えば:
<div class="row">
<input type="email">
<input formnovalidate type="submit" value="Remove row">
</div>
<div class="row">
...
</div>
<input type="submit" value="Submit rows">
formnovalidate
は削除ボタンの上にあるので、その横のフィールドに無効な電子メールが含まれていても、削除することができます。実際の送信ボタンには formnovalidate 属性がないため、実際にフォームを送信する前に、すべての電子メールが有効である必要があります。
要素に html 属性 novalidate または novalidate="novalidate" を追加するだけです。小枝テンプレートのいずれかのフォーム タイプから他の属性を追加するのと同じ方法で、これを行うことができます。例えば:
{{ form_widget(form.add, { 'attr': {'novalidate': 'novalidate' }}) }}
実際、あなたの質問をもう一度読んでみると、あなたがボタンに対してどのような検証を行おうとしているのか完全にはわかりません。検証したくないすべての要素に novalidate を設定する必要があります。
フォーム自体に novalidate を配置することもできます。
<form action="demo_form.asp" novalidate>