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

質問編集履歴

2

「表示されてた時から、表示されなくなるまでの間に変更した内容」の追記

2020/07/02 04:33

投稿

qwertyuiop
qwertyuiop

スコア41

title CHANGED
File without changes
body CHANGED
@@ -17,6 +17,8 @@
17
17
  元々はしっかり表示されていました。
18
18
  ちなみに、ほかの関数(__, config)などは使用できます。
19
19
 
20
+ なかなか直らない場合はプロジェクトを作り直そうと思います。
21
+
20
22
  ## ファイルなど
21
23
  何が問題なのか見当もつかないのですが、適当にファイルを載せておきます。
22
24
 
@@ -34,57 +36,86 @@
34
36
  ];
35
37
  ```
36
38
 
37
- ログインページBladeファイル (ログインフォームのBlade)
39
+ Controllerで使用する時 (投稿フォームのバリデーション)
38
- ```Blade
40
+ ```php
41
+ $validatedData = $request->validate([
42
+ 'content' => [
39
- @extends('layouts.app')
43
+ 'required',
44
+ 'between:5,1000'
45
+ ]
46
+ ]);
47
+ ```
40
48
 
41
- @section('content')
42
- <form method="POST" class="login-form" action="{{ route('login') }}">
43
- @csrf
44
- <h1>{{ __('Login') }}</h1>
45
49
 
46
- <label class="login-form-input-label">
50
+ ## 表示されてた時から、表示されなくなるまでの間に変更した内容
51
+ あまり覚えていないのですが、覚えてる範囲で書きます。
52
+ 暗号化しないクッキーの指定
47
- <span>{{ __('Username') }}</span>
53
+ `app/Http/Middleware/EncryptCookies.php`
48
- <input id="username" type="text" class="form-control @error('username') is-invalid @enderror" name="username" value="{{ old('username') }}" required autocomplete="username" autofocus>
54
+ ```php
49
- </label>
55
+ protected $except = [
50
- @error('username')
56
+ 'lang'
51
- <span class="invalid-feedback" role="alert">
57
+ ];
58
+ ```
52
- <strong>{{ $message }}</strong>
59
+ (元の`protected $except = [];`という状態にしても変わりなし)
53
- </span>
54
- @enderror
55
60
 
56
- <label class="login-form-input-label">
61
+ ミドルウェアの作成
57
- <span>{{ __('Password') }}</span>
62
+ `app/Http/Middleware/Language.php`
58
- <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
59
- </label>
63
+ ```php
60
- @error('password')
61
- <span class="invalid-feedback" role="alert">
62
- <strong>{{ $message }}</strong>
63
- </span>
64
+ <?php
64
- @enderror
65
65
 
66
- <label style="display: block; margin: 12px 0;">
67
- <input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
68
- <span>{{ __('Remember Me') }}</span>
69
- </label>
66
+ namespace App\Http\Middleware;
70
67
 
68
+ use Closure;
71
- <div style="margin: 12px 0;">
69
+ use Illuminate\Support\Facades\Config;
72
- <button type="submit" class="btn btn-primary">{{ __('Login') }}</button>
70
+ use Illuminate\Support\Facades\App;
73
- @if (Route::has('password.request'))
71
+ use Illuminate\Support\Facades\Session;
74
- <a href="{{ route('password.request') }}" style="margin-left: 4px;">{{ __('Forgot Your Password?') }}</a>
75
- @endif
76
- </div>
72
+ use Illuminate\Support\Facades\Cookie;
77
- </form>
78
- @endsection
79
73
 
74
+ class Language
75
+ {
76
+ /**
77
+ * Handle an incoming request.
78
+ *
79
+ * @param \Illuminate\Http\Request $request
80
+ * @param \Closure $next
81
+ * @return mixed
82
+ */
83
+ public function handle($request, Closure $next)
84
+ {
85
+ // if (isset($request) && $request->isMethod('get') && isset($request->{'lang'})) {
86
+ // if (array_key_exists($request->{'lang'}, Config::get('languages'))) {
87
+ // Session::put('lang', $request->{'lang'});
88
+ // }
89
+ // }
90
+ //
91
+ // if (Session::has('lang') && array_key_exists(Session::get('lang'), Config::get('languages'))) {
92
+ // App::setLocale(Session::get('lang'));
93
+ // } else {
94
+ // Session::put('lang', Config::get('app.fallback_locale'));
95
+ // Cookie::queue(Cookie::forever('lang', Config::get('app.fallback_locale')));
96
+ // App::setLocale(Config::get('app.fallback_locale'));
97
+ // }
98
+
99
+ $langs = Config::get('languages');
100
+ if (isset($request) && $request->isMethod('get') && isset($request->{'lang'})) {
101
+ if (isset($langs[$request->{'lang'}])) {
102
+ Cookie::queue(Cookie::forever('lang', $request->{'lang'}));
103
+ App::setLocale($request->{'lang'});
104
+ return $next($request);
105
+ }
106
+ }
107
+
108
+ if (Cookie::has('lang') && isset($langs[Cookie::get('lang')])) {
109
+ App::setLocale(Cookie::get('lang'));
110
+ } else {
111
+ Cookie::queue(Cookie::forever('lang', Config::get('app.fallback_locale')));
112
+ App::setLocale(Config::get('app.fallback_locale'));
113
+ }
114
+
115
+ return $next($request);
116
+ }
117
+ }
118
+
80
119
  ```
81
120
 
82
- Controllerで使用する時の例 (投稿フォームのバリデーション)
83
- ```php
84
- $validatedData = $request->validate([
121
+ (app/Http/Kernel.phpの$middlewareから消してみても変わりなし)
85
- 'content' => [
86
- 'required',
87
- 'between:5,1000'
88
- ]
89
- ]);
90
- ```

1

$error変数に関する追記

2020/07/02 04:33

投稿

qwertyuiop
qwertyuiop

スコア41

title CHANGED
File without changes
body CHANGED
@@ -5,10 +5,13 @@
5
5
  ## 問題
6
6
  Bladeファイルなどで@errorディレクティブや、old関数が機能しなくなりました。
7
7
 
8
- 現在、バリデーションに当てはまら書き方をしても、エラーメッセージが表示されず、old関数も効かない状態です。
8
+ 現在、不正な書き方をしても、エラーメッセージが表示されず、old関数も効かない状態です。
9
- バリデーションに当てはまる書き方だと通るので、チェック自体は通っていると思いますが、Bladeファイル側で認識されていません。
9
+ バリデーションに当てはまるようにと通るので、チェック自体はしっかり通っていると思いますが、Bladeファイル側で認識されていません。
10
10
  どのページでもこのような問題が起きます。
11
11
 
12
+ blade内でvar_dumpしてみたら、$errorsは定義されていました。(object Illuminate\Support\ViewErrorBag)
13
+ ただ、不正な値を入力しても中身は空のままです。
14
+
12
15
  どこのコードが問題なのかわからない状態です。
13
16
 
14
17
  元々はしっかり表示されていました。