業界未経験者によるプログラミング学習進捗ブログ〜ウェブカツの進め方「Laravel編 バリデーション、old関数、ORM、多言語化」〜

その他

ども、FC岐阜大好き、ほしです。

千葉県の台風被害が深刻ですよね。でもテレビとかではあまり報道されてない!と、いうようなツイッターとかの投稿をよく見ます。最近テレビ見てないからわからないけど、そんなに報道されてないんですかね?

ワイドショーでくだらない内容やるくらいなら、もっと伝えるべきことあるのに。なんて言ってみたり。

さ、話は変わりまして、今回もウェブカツのLaravel部で学んだことについてブログに書いていきます。いざ書こう!と意気揚々と書き始めたのですが、あれ、筆が進まぬ(いやタイピングが進まぬですね)。

あちゃー。これは全然分かってないってことですね。分かってないことが分かってしまった笑。
てことでもう一度動画、その他情報を見直して、コード書いて復習しました。その上で、まとめてみました。

その前に僕のプロフィールもぜひ覗いていってくださいね〜!

バリデーションの実装

まずはLaravelでのバリデーションについて。

本当はMVCのそれぞれのファイルのコードを載せておくべきでしょうけど、正直まだ理解が足りてなく説明用に自分でコード作れないのでご了承を。バリデーションに限ってどうやって書くのか、という点をまとめます。

1.登録処理用のアクションを作成(今回は動画同様createアクションとする)

public function create(){

}

2.入力値にバリデーションチェックを実装(例として入力値はタイトル、カテゴリー名、問題3つとする。)

public function create(Request $request){    $request => validate([
     'title' => 'required|string|max:255',
     'category_name' => 'required|string|max:255',
     'problem0' => 'required|string|max:255',
     'problem1' => 'string|max:255',
     'problem2' => 'string|max:255',
]);
}

引数にRequestクラスを準備する(変数名は特に決まってないので、なんでも良い。この例では$request)。
そしてRequestクラスのvalidate( )メソッド内に、バリデーションのルールを書きます。
記入方法は、’入力フォームのキー(name属性)’ => ‘バリデーションルール’で配列形式とする。

『required』は入力必須という意味。

バリデーション機能の中での便利だなと思ったのは、「バリデーションチェックに通らなかった時は、自動でリダイレクトがかかる」という点です!

つまり、バリデーションチェックに通らなかた時の処理を書く必要がないということです。これは楽ですね!

あともう1つ。バリデーションチェックに通らなかった時は、自動でエラーメッセージも表示されるのです。

入力必須です
何文字以上で・・・
半角英数字で・・・

こういうの書かなくていいんですって!素晴らしいですね!

old関数(ヘルパメソッド)

このバリデーションに関連して、old関数(ヘルパメソッド)についてもまとめておきます。

この関数は入力フォームの入力した値を保持してくれる関数です。バリデーションで失敗した時に、フォームに入力した値・テキストが消えたら不親切ですもんね。WEBサービス部でもこういった機能付け足しましたよね!

value=”{{ old(‘name属性’) }}”

とすればOK。

そう言えばこの記事書く前にLaravel部進めたんだけど、この機能はもっと奥が深くなりそうだ。別の機能?関連したもの?が出てたはず。

あとちなみにこれヘルパ?ヘルパー?どっちの表記もあったなぁ。

多言語化

例えばバリデーションに通らなかった時に、自動でエラーメッセージが出ますが、初期設定ではそのメッセージは英語です。

これを日本語に変える設定もできます。

config/app.phpにlocale,  fallback_localeを設定します。

 'locale' => 'ja', 
   'fallback_locale' => 'ja',

さらにもう1つ。任意に設定したい言葉を別途指定していきます。

resouces/lang配下にresouces/lang/ja.jsonファイルを設置。

{
  "Drill Registor": "練習登録",
  "Title": "タイトル"
 //以降、下に追加していく。

}

このようにすればOK!

ORM

これはまとめられん!笑

なんかよく出てくるんだけど、何だか説明するのが難しいんだよなこれ。説明できないと言うことは、まだ理解が足りぬ!ということ。

また改めてまとめたいと思います!!

Laravel部はまだまだこれからです。毎日頑張ります!

コメント

タイトルとURLをコピーしました