php artisan make:request StorePostRequest
En app\Http\Requests\StorePostRequest.php poner la función authorize:
if ($this->user_id == auth()->user()->id) {
return true;
}
else {
return false;
}
En la función rules:
$rules = [
'name' => 'required',
'slug' => 'required|unique:posts',
'status' => 'required|in:1,2'
];
if ($this->status == 2) { // añadir nuevas reglas a las q ya hay en ese array
$rules = array_merge($rules, [
'category_id' => 'required',
'tags' => 'required
'extract' => 'required',
'body' => 'required'
]);
}
return $rules;
En el PostController:
use App\Http\Requests\StorePostRequest;
Cambiar la función store a:
public function store(StorePostRequest $request) { // al ser ya de tipo StorePostRequest ya hace antes la validación
$post = Post::create($request->all());
if ($request->tags) {
$post->tags()->attach($request->tags);
}
return redirect()->route('admin.posts.edit', $post
}
No hay comentarios:
Publicar un comentario