I'm having some troubles with errors handling.
I've made a custom Request:
public function rules()
{
return [
"name" => "required|min:3|max:50|string",
"price" => "required|numeric",
"visibility" => "required",
"description" => "required|string|min:10|max:50",
"image_url" => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
"genre" => "required"
];
}
In my controller i have:
public function store(dishValidate $request)
{
$data = $request->validated();
$file = $request->file('image');
$extension = $file->getClientOriginalExtension();
Storage::disk('public')->put($file->getFilename() . '.' . $extension, File::get($file));
$dish = new Dish;
$dish["name"] = $data["name"];
$dish["description"] = $data["description"];
$dish["price"] = $data["price"];
$dish["visibility"] = $data["visibility"];
$dish["image_url"] = $file->getFilename() . '.' . $extension;
$dish->getRestaurant()->associate(Auth::User()->getRestaurant->id);
$dish->getGenre()->associate($data["genre"]);
$dish->save();
$item = "Hai creato un nuovo piatto con successo!";
return route("success", compact("item"));
}
And in my blade:
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
I can't seem to have access to any errors. Is there also a way to keep input if validation fails?