diff --git a/BD/clase boostrap y validacion laravel.pdf b/BD/clase boostrap y validacion laravel.pdf index b432755..d160aae 100644 Binary files a/BD/clase boostrap y validacion laravel.pdf and b/BD/clase boostrap y validacion laravel.pdf differ diff --git a/app/Http/Controllers/CategoriasController.php b/app/Http/Controllers/CategoriasController.php index 7573ce1..65d682a 100644 --- a/app/Http/Controllers/CategoriasController.php +++ b/app/Http/Controllers/CategoriasController.php @@ -35,7 +35,7 @@ class CategoriasController extends Controller public function destroy(Request $request, $id){ $categorias = Categorias::findOrfail($id); $categorias->delete(); - $request->session()->flash('mensaje-success', 'La categoría fue eliminada.'); + $request->session()->flash('mensaje-success', 'La categoría fue eliminada.'); return redirect('/categorias'); } @@ -47,23 +47,29 @@ class CategoriasController extends Controller public function store(Request $request){ $request->validate([ - 'descripcion' => 'required|max:20|', - 'nombre' => 'required|unique:categorias,nombre', - ], + 'descripcion' => 'required|max:20', + 'nombre' => 'required|unique:categorias,nombre|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/|max:20', + //'dni' => 'required|numeric|digits_between:7,8', + ], [ 'descripcion.required' => 'el campo descripcion debe ser requerido', - 'descripcion.max' => 'el campo descripcion debe contener maximo 10 caracteres', - 'nombre.required' => 'el campo nombre es requerido', - 'nombre.unique' => 'ya existe una categoria con ese nombre' + 'descripcion.max' => 'el campo descripcion debe contener maximo 20 caracteres', + 'nombre.required' => 'el campo nombre es requerido', + 'nombre.unique' => 'el campo nombre no se puede repetir', + 'nombre.regex' => 'el campo nombre solo debe contener letras', + 'nombre.max' => 'el campo nombre debe contener un maximo de 20 caracteres', + ] ); + $categorias = new Categorias(); $categorias->fill([ 'nombre' => $request->input('nombre'), 'descripcion' => $request->input('descripcion'), ]); $categorias->save(); + $request->session()->flash('mensaje-success', 'La categoría fue agregada.'); return redirect('/categorias'); } @@ -80,6 +86,7 @@ class CategoriasController extends Controller 'descripcion' => $request->input('descripcion'), ]); $categorias->update(); + $request->session()->flash('mensaje-success', 'La categoría fue modificada.'); return redirect('/categorias'); } @@ -90,35 +97,5 @@ class CategoriasController extends Controller return redirect('/categorias'); } -/* - - - - public function show($id){ - $categorias = Categorias::findOrfail($id); - - return view('categorias.show', ["cat"=>$categorias]); - } - - - public function edit($id){ - $categorias = Categorias::findOrfail($id); - return view('categorias.edit', ["cat"=>$categorias]); - } - - - public function update(Request $request, $id){ - $categorias = Categorias::findOrfail($id); - $categorias->fill([ - 'nombre' => $request->input('nombre'), - 'descripcion' => $request->input('descripcion'), - ]); - $categorias->update(); - return redirect('/categorias'); - } - - - */ - } diff --git a/app/Http/Requests/StoreCategoriaRequest.php b/app/Http/Requests/StoreCategoriaRequest.php new file mode 100644 index 0000000..00bc158 --- /dev/null +++ b/app/Http/Requests/StoreCategoriaRequest.php @@ -0,0 +1,28 @@ +|string> + */ + public function rules(): array + { + return [ + // + ]; + } +} diff --git a/app/Http/Requests/UpdatedCategoriaRequest.php b/app/Http/Requests/UpdatedCategoriaRequest.php new file mode 100644 index 0000000..f5ade80 --- /dev/null +++ b/app/Http/Requests/UpdatedCategoriaRequest.php @@ -0,0 +1,40 @@ +|string> + */ + public function rules(): array + { + return [ + 'nombre' => 'required|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/|max:20|unique:categorias,nombre,' . $this->route('categoria') . ',id_categoria', + 'descripcion' => 'required' + ]; + } + + public function messages() { + + return [ + 'nombre.required' => 'el campo nombre es requerido', + 'nombre.regex' => 'el campo nombre solo debe contener letras', + 'nombre.max' => 'el campo nombre debe contener un maximo de 20 caracteres', + 'nombre.unique' => 'ya existe una categoria con este nombre', + 'descripcion' => 'el campo descripcion es requerido' + ]; + } +} diff --git a/resources/views/categorias/new.blade.php b/resources/views/categorias/new.blade.php index 114bf40..e628b5b 100644 --- a/resources/views/categorias/new.blade.php +++ b/resources/views/categorias/new.blade.php @@ -33,7 +33,12 @@ - +