I can't figure put why laravel blade doesn't catch my error validation and doesn't pass it to my view. In detail
- I do have error snippet in my blade template
- below is my validation which works correctly
What I'm missing?
Thank you
This is json message I see instead of message in blade template
{ message: "The given data was invalid.", status_code: 500 }
This snippet I use to let user know about error
@if(count($errors))
<div class="form-group">
<div class="alert alert-danger">
<ul>
@if($errors->all())
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
@endif
</ul>
</div>
</div> @endif
And finally this is my correctly working validation
$request->validate([
'email' => 'required|email|unique:subscribers|max:255',
]);
EDIT:
This is the rout in web.php
Route::post('saveemail', 'SaveSubscriberEmailController@saveEmail');
And this is the method
namespace App\Http\Controllers;
use App\subscriber;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Ramsey\Uuid\Uuid;
class SaveSubscriberEmailController extends Controller
{
public function saveEmail(Request $request)
{
$request->validate([
'email' => 'required|email|unique:subscribers|max:255',
]);
$uuid = Uuid::uuid4();
$subscriber = new subscriber();
$subscriber->email = $request->email;
$subscriber->uuid = $uuid->toString();
$subscriber->created_at = Carbon::now();
$subscriber->save();
flash('Registration conformation email has been sent. Please check your mailbox. Thank you!')->success();
return redirect()->back();
}
}
web.phpis automatically in the web middleware. You can check it by callingphp artisan routes:list. You should seewebnext to your route in the Middleware column.php artisan routes:list