Symfonyとは
SymfonyとはWeb アプリケーションの開発のためのPHPフレームワークです。日本国内では主にEC-CUBEというeコマースCMSのフレームワークとしても使われていることで有名です。
その他の有名なWebフレームワークのひとつにRuby on Railsがありますが、Railsと同じ用にMVC構造になっているのでRailsを触ったことがある人は扱いやすいかもしれません。
フォームエラーのデバッグ方法
Symfonyで生成されたフォームに問題がある場合、$form->isValid()
の値が false
となります。例えば、フォームに適切な値が入力されていない、等の問題があった場合にfalse
になります。
EC-CUBE4でも src/Eccube/Controller/Admin/Product/ProductController.php
に以下のような記述があります。
if ($form->isValid()) { $Product = $form->getData(); ... }
この isValid()
ですが、false
になっているときに「一体なぜ」エラーとなっているのか、その原因を知りたいですよね。
その時は、Symfonyのデバッグモードが便利です。
Symfonyをデバッグモードで起動すると、ブラウザの画面右下の「sf」というマークが表示されます。
sfマークをクリックすると出てくるバーの中から、赤く表示されているアイコンをクリックしてください。
このように、エラー内容がわかります。
今回の場合、sale_type
というデータが存在しないことがエラーの原因になっていました。
フォーム画面をカスタマイズしてエラーが出た際はこのデバッグモードを活用し原因特定をしていきましょう!
以上、Symfonyで $form->isValid() のエラー内容を表示する方法でした!
良い記事だと思っていただいた方は、以下の「★+」ボタンのクリック、SNSでのシェア、「読者になる」ボタンのクリック、Twitterのフォローをお願いします!