teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

書式の修正

2017/12/21 06:15

投稿

motuo
motuo

スコア3027

answer CHANGED
@@ -74,7 +74,7 @@
74
74
  これが出ていなかったので、単純にリダイレクトされた時のエラーに気づかなかったのでしょう。
75
75
 
76
76
  というわけで、`validation`を直しましょう。
77
- ちなみに、`max`は数値の場合には、単純に入力された数字がmax以下かどうかを判定します。(*桁数ではないです!*)
77
+ ちなみに、`max`は数値の場合には、単純に入力された数字がmax以下かどうかを判定します。(**桁数ではないです!**)
78
78
  その為、郵便番号を入れてもエラーとなってしまいます。
79
79
  私のvalidationの修正案です。ご自身のやりたいことに合わせて調整してください。
80
80
  ```php

3

回答を追記

2017/12/21 06:15

投稿

motuo
motuo

スコア3027

answer CHANGED
@@ -46,4 +46,56 @@
46
46
  <input type="text" name="admin_name" class="form-control" id="InputName" placeholder="氏名">
47
47
  </div><!-- ここが無かった! -->
48
48
  <!--/form-group--></div>
49
- ```
49
+ ```
50
+
51
+ > ## さらに追記
52
+
53
+ すいません。ちゃんと見ました(苦笑)
54
+ 直接の原因としては、validationで引っかかっていて元の画面にredirectされているだけでした。
55
+ まず、ご自身のbladeに下記のコードを追記してみてください。
56
+ これにより、エラー内容が見られるようになります。
57
+ ```html
58
+ @if (count($errors) > 0)
59
+ <div class="alert alert-danger">
60
+ <ul>
61
+ @foreach ($errors->all() as $error)
62
+ <li>{{ $error }}</li>
63
+ @endforeach
64
+ </ul>
65
+ </div>
66
+ @endif
67
+ ```
68
+ こうすると、こんな感じでいくつかのエラーが出てきます。
69
+ > The admin code field is required.
70
+ The postal code may not be greater than 8.
71
+ The telephone number may not be greater than 13.
72
+ The telephone number must be an integer.
73
+
74
+ これが出ていなかったので、単純にリダイレクトされた時のエラーに気づかなかったのでしょう。
75
+
76
+ というわけで、`validation`を直しましょう。
77
+ ちなみに、`max`は数値の場合には、単純に入力された数字がmax以下かどうかを判定します。(*桁数ではないです!*)
78
+ その為、郵便番号を入れてもエラーとなってしまいます。
79
+ 私のvalidationの修正案です。ご自身のやりたいことに合わせて調整してください。
80
+ ```php
81
+ $this->validate($request,[
82
+ // 'admin_code' => 'required|max:6|integer',
83
+ 'password' => 'required|max:45',
84
+ 'admin_name' => 'required|max:45',
85
+ 'postal_code' => 'required|digits:7',
86
+ 'street_adress' => 'required|max:800',
87
+ 'telephone_number' => 'required|digits_between:10,11'
88
+ ]);
89
+ ```
90
+ あと、migrationにはtimestampが無かったので、必要ないのであれば、Modelに
91
+ ```
92
+ public $timestamps = false;
93
+ ```
94
+ を追記して下さい。
95
+ また、`uniqid`は13桁でしかデータを作れないので、6桁に合わせるなら
96
+ ```php
97
+ $admin_code = rand(1,6);
98
+ ```
99
+ とするか、データベースの桁数を13桁に拡張しましょう。
100
+
101
+ これでデータの登録はできるはずです。

2

回答追記

2017/12/21 06:08

投稿

motuo
motuo

スコア3027

answer CHANGED
@@ -34,4 +34,16 @@
34
34
  ];
35
35
 
36
36
  }
37
+ ```
38
+
39
+ > 追記
40
+
41
+ 後は、divタグの閉じ忘れがありましたね。
42
+ ```html
43
+ <div class="form-group">
44
+ <label class="col-sm-3 control-label" for="InputName">氏名</label>
45
+ <div class="col-sm-9">
46
+ <input type="text" name="admin_name" class="form-control" id="InputName" placeholder="氏名">
47
+ </div><!-- ここが無かった! -->
48
+ <!--/form-group--></div>
37
49
  ```

1

誤記修正:$admin_codeはinput要素じゃないので…

2017/12/21 05:10

投稿

motuo
motuo

スコア3027

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  ```php
6
6
  $admin = new Admin([
7
7
  //'admin_code' => $request->input($admin),
8
- 'admin_code' => $request->input($admin_code),//生成しているのに使っていない?
8
+ 'admin_code' => $admin_code,//生成しているのに使っていない?
9
9
  'password' => $request->input('password'),
10
10
  'admin_name' => $request->input('admin_name'),
11
11
  'postal_code' => $request->input('postal_code'),