Quantcast
Channel: omnioo lab. record » PHP/MySQL
Viewing all articles
Browse latest Browse all 59

Symfony2でバリデーションを無効にする

$
0
0

Symfony2でForm送信するときデフォルトでは無条件でhtml5のクライアントサイドのバリデーションが有効になるみたいです。ちゃんと検証していませんが全部の値がrequire(必須入力項目)になっているような感じでした。もちろんこのバリデーションはカスタマイズが可能なんですが、Symfony2のおそろしく複雑な流儀を覚えるのが大変なので、私個人としてはこれらのバリデーションは自分で書くようにしております。
JSとSymfony2のコントローラ側で2回やります。GUIはJS側で中身のデータの確認はコントローラという分担がよいかと思います。というのは直接POSTされたりしたらJSスルーしてしまう可能性もあるからです。(そうならないようにはなっていますが。)
デフォルトのバリデーションを無効にするには、Twigのテンプレート中のsubmitのところにnovalidate属性をつけてあげます。

...
 {{ form_widget(form) }}
<input type="submit" id="submit" value="送信" formnovalidate="formnovalidate">
...
これでデフォルトのバリデーションが解かれてそのまま値がなくてもsubmitされるようになります。

http://docs.symfony.gr.jp/symfony2/sf2-blog-tutorial/07-create-form.html

Viewing all articles
Browse latest Browse all 59

Trending Articles