質問編集履歴

3

修正いたしました。よろしくお願いします。

2018/03/22 06:38

投稿

T.FUJII
T.FUJII

スコア21

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,14 @@
3
3
 
4
4
 
5
5
  フォームから送信されたCSVファイルをバリデーションしたいです。具体的にはcsvファイルかどうかを調べた後、SqlFileObjectを使い、CSVファイルを開いて行展開し、list関数を使い変数 $phone_number に格納して、その変数に対して、正規表現をかけてバリデーションしています。$request以外の変数などをvalidate()を使いバリデーションできますでしょうか?
6
+
7
+
8
+
9
+ ※追記
10
+
11
+ CSVファイルのレコードを変数に展開して、
12
+
13
+ その変数の電話番号に対して正規表現をかけたいです。
6
14
 
7
15
 
8
16
 

2

文言の修正

2018/03/22 06:38

投稿

T.FUJII
T.FUJII

スコア21

test CHANGED
File without changes
test CHANGED
@@ -2,9 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- フォームから送信されたCSVファイルをバリデーションしたいです。
6
-
7
- 具体的にはcsvファイルかどうかを調べた後、SqlFileObjectを使い、CSVファイルを開いて行展開し、list関数を使い変数 $phone_number に格納して、その変数に対して、正規表現をかけてバリデーションしています。validate()などを使い正規表現バリデーションできますでしょうか?
5
+ フォームから送信されたCSVファイルをバリデーションしたいです。具体的にはcsvファイルかどうかを調べた後、SqlFileObjectを使い、CSVファイルを開いて行展開し、list関数を使い変数 $phone_number に格納して、その変数に対して、正規表現をかけてバリデーションしています。$request以外の変数などをvalidate()を使いバリデーションできますでしょうか?
8
6
 
9
7
 
10
8
 

1

csvupload修正

2018/03/22 06:34

投稿

T.FUJII
T.FUJII

スコア21

test CHANGED
File without changes
test CHANGED
@@ -84,6 +84,60 @@
84
84
 
85
85
  【uploadCsv】
86
86
 
87
+ private function uploadCsv(string $file_path)
88
+
89
+ {
90
+
91
+ // csvファイル読み込み
92
+
93
+ $file = new SplFileObject($file_path);
94
+
95
+ $file->setFlags(SplFileObject::READ_CSV);
96
+
97
+
98
+
99
+ // エラー行を格納する配列を定義
100
+
101
+ $err_data = [];
102
+
103
+
104
+
105
+ foreach ($file as $key => $row) {
106
+
107
+
108
+
109
+ // ヘッダ無視
110
+
111
+ if ($key === 0) continue;
112
+
113
+
114
+
115
+ list(
116
+
117
+ $company_id,
118
+
119
+ $employment_site_id,
120
+
121
+ $company_name,
122
+
123
+ $phone_number,
124
+
125
+ $created_at,
126
+
127
+ $updated_at
128
+
129
+ ) = $row;
130
+
131
+
132
+
133
+ /*
134
+
135
+   * バリデーション
136
+
137
+ */
138
+
139
+
140
+
87
141
  // 電話番号の存在確認
88
142
 
89
143
  if ($phone_number) {
@@ -101,6 +155,12 @@
101
155
  continue;
102
156
 
103
157
  }
158
+
159
+
160
+
161
+ 以下略
162
+
163
+
104
164
 
105
165
 
106
166