シェアありがとうございます!

【Laravel】CSVのデータを読み込んでバリデーションをする方法

 こんにちわ、いよいよ春到来で外に出るのが楽しくてしょうがないHashiです。今回は先日紹介したLaravelでCSVファイルを読み込む方法に関連して、読み込んだデータをバリデーションする方法を備忘録も兼ねて紹介したいと思います。

 なお、Laravelとはなんぞやという方は下の記事を参照してください!

環境

 今回の環境は下記の通りとなります。

今回の環境

  • Laravel 5.5
  • MySQL 5.6.37

仕様と要点

 まず、今回のサンプルの仕様と要点、簡単な流れを下記に簡単にまとめます。(基本的には先日の記事を踏襲)

  • CSVのデータには、行ごとに「名前」と「メールアドレス」が記載されている
  • CSVは「Goodby CSV」ライブラリを使用してパース
  • パースしたデータをバリデーション
  • パースしたデータをDB(samplesテーブルと仮定)に保存
  • samplesテーブルには「name」と「email」フィールドが存在する

CSVのインポート(読み込み)

 まず、今回は先日の記事の内容、およびソースに追記する形で進めるので、先日の記事(下記記事)を参照してください。

読み込んだデータをバリデーション

 では、実際にバリデーションをしていきたいと思います。

 下記が完成形のソースになります。

 今回は追記した箇所は、9行目のValidatorのインポート部分と、70〜79行目のバリデーション処理の部分になります。

 バリデーションの内容としては、今回はCSVのデータに「name」と「email」が記載されているという想定なので、この二つに対してバリデーションを行います。そして、もしバリデーションに引っかかった場合は、該当する行番号をエラーオブジェクトに追加(77行目)して、リダイレクトさせる仕様になります。また、見ての通り、今回は1行ごとにバリデーションをしているので、エラーが見つかった段階でリダイレクトする形になります。

まとめ

 ということで、今回はLaravelにおいて読み込んだCSVデータをバリデーションする方法を紹介させていただきました。バリデーションはとても大事な処理なので面倒くさがらずにしっかりやらないとですね。

 それでは、今回はここまで!Hashiでした。また!

この記事のまとめ

  • CSVのデータを読み込んでバリデーションをする方法
お仕事の依頼はこちら

人気記事

著者プロフィール

Takanori Hashi

東京、奄美大島、宮崎の3拠点生活を目指すフリーランスのWEBエンジニア兼デザイナー。仕事の傍、子育て&趣味に精を出す一児のパパ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です