こんばんは、のるぼるのんです。
甥っ子にゼルダの伝説時のオカリナをやらせたら結構ハマっているようです。自分が子供の頃ハマったゲームは今の子にやらせても楽しいんだな、と見てて楽しいですね。(ちょうど今デクナッツに倒されてました。ニイさんイチバンだっぴ!w)
さて今回は、Laravel管理画面パッケージを色々試していこうの企画、Laravel-adminでformにバリデーションを追加します。
コントローラーを作成した段階では、バリデーションルールは何も記述されていないので、SQL errorが発生してしまいます。
そうならないようにも、form作成の段階でバリデーションを記述し、エラーの表示されないformを作成しましょう。
今回は、先日の記事で作ったproductsテーブルを使用してバリデーションを記述します。
今のテーブル情報はこんな感じ。
required、string(integer)、max:255、min:0あたりをバリデーションルールとして記述すれば良いでしょう。
それでは、早速やって行きましょう。
バリデーションルール追加
・ProductController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/** * Make a form builder. * * @return Form */ protected function form() { $categories = Category::pluck('name', 'id'); $tags = Tag::pluck('name', 'id'); $form = new Form(new Product); // rulesを追記します。 $form->text('name', 'Name')->rules('required|string|max:255|min:0'); $form->image('photo', 'Photo')->rules('required|string|mix:255'); $form->number('price', 'Price')->rules('required|integer|min:0'); $form->select('category_id', 'Category')->options($categories)->rules('required'); $form->multipleSelect('tag')->options($tags); return $form; } |
各formアイテムにバリデーションを通します。仕様に合わせてここは調整してください。
それではform画面でエラーを起こしてみます。
はい、無事バリデーションに引っ掛けることができました。
おそらく言語ファイルはvalidation.phpを流用していると思いますので、set_localeで日本語化可能かと思われます。
次回はvalidationメッセージの日本語化を含め、laravel-admin全体を日本語化したいと思います。
P.S.
甥っ子がゴーマ様を見て「割り算だね!」って言ってました笑
お前に割り算を教えてやろうか!笑
コメントを書く