diff --git a/app/Http/Controllers/ItemController.php b/app/Http/Controllers/ItemController.php index 7c8082ae..5233f1ba 100644 --- a/app/Http/Controllers/ItemController.php +++ b/app/Http/Controllers/ItemController.php @@ -12,6 +12,11 @@ class ItemController extends Controller // and validation rules: name is required, and description is required public function store(StoreItemRequest $request) { + $request->validate([ + 'name' => ['required'], + 'description' => ['required'], + ]); + Item::create($request->validated()); return 'Success'; diff --git a/app/Http/Controllers/PostController.php b/app/Http/Controllers/PostController.php index cd0808b7..40bfbf7f 100644 --- a/app/Http/Controllers/PostController.php +++ b/app/Http/Controllers/PostController.php @@ -9,10 +9,9 @@ class PostController extends Controller { public function store(Request $request) { - $request->validate( - // ... TASK: write validation here so that "title" field - // would be required and unique in the "posts" DB table - ); + $request->validate([ + 'title' => ['required', 'unique:posts'], + ]); // Saving the post Post::create(['title' => $request->title]); diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index bb6bab39..2b088205 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -13,6 +13,8 @@ public function update(Request $request) // // // Write validation rules, so both name and email are required + 'profile.name' => 'required', + 'profile.email' => 'required', ]); auth()->user()->update($request->profile ?? []); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 404d7471..f69b44b5 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -11,7 +11,9 @@ public function update(User $user, UpdateUserRequest $request) { // TASK: change this line to not allow is_admin field to be updated // Update only the fields that are validated in UpdateUserRequest - $user->update($request->all()); + $validatedData = $request->validated(); + unset($validatedData['is_admin']); + $user->update($validatedData); return 'Success'; } diff --git a/app/Http/Requests/StoreBuildingRequest.php b/app/Http/Requests/StoreBuildingRequest.php index fbd8c064..e84ccca1 100644 --- a/app/Http/Requests/StoreBuildingRequest.php +++ b/app/Http/Requests/StoreBuildingRequest.php @@ -30,4 +30,9 @@ public function rules() 'name' => 'required' ]; } + + public function messages() + { + return ['name.required' => 'Please enter the name']; + } } diff --git a/app/Http/Requests/StoreItemRequest.php b/app/Http/Requests/StoreItemRequest.php new file mode 100644 index 00000000..e8bf0592 --- /dev/null +++ b/app/Http/Requests/StoreItemRequest.php @@ -0,0 +1,29 @@ + + */ + public function rules(): array + { + return [ + "name" => "required", + "description" => "required", + ]; + } +} diff --git a/app/Rules/Uppercase.php b/app/Rules/Uppercase.php new file mode 100644 index 00000000..14f7b0df --- /dev/null +++ b/app/Rules/Uppercase.php @@ -0,0 +1,21 @@ +
+ @if ($errors->any()) +
+ +
+ @endif {{-- TASK: show the validation error for the specific "name" field --}} {{-- using one Blade directive: pseudo-code below --}} {{-- @directive --}} diff --git a/resources/views/projects/create.blade.php b/resources/views/projects/create.blade.php index dc19b63b..0b4feb77 100644 --- a/resources/views/projects/create.blade.php +++ b/resources/views/projects/create.blade.php @@ -4,6 +4,16 @@ {{-- in case of title/description empty, visitor should see --}} {{-- "The name field is required." and "The description field is required." --}} +@if ($errors->any()) +
+ +
+@endif +
@csrf Title: diff --git a/resources/views/teams/create.blade.php b/resources/views/teams/create.blade.php index 2d003c05..f1afdef2 100644 --- a/resources/views/teams/create.blade.php +++ b/resources/views/teams/create.blade.php @@ -3,7 +3,7 @@ Name:
{{-- TASK: change this field so it would contain old value after validation error --}} - +