From 239b13efd6d5a5ed69e6361eb895eea23732ade5 Mon Sep 17 00:00:00 2001 From: AlwinJun Date: Wed, 26 Jun 2024 19:26:45 +0800 Subject: [PATCH 1/9] Pass test_simple_validation_rules --- app/Http/Controllers/PostController.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/PostController.php b/app/Http/Controllers/PostController.php index cd0808b7..c265abb2 100644 --- a/app/Http/Controllers/PostController.php +++ b/app/Http/Controllers/PostController.php @@ -12,6 +12,9 @@ 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 + [ + 'title' => ['required', 'unique:posts'] + ] ); // Saving the post @@ -19,4 +22,4 @@ public function store(Request $request) return 'Success'; } -} +} \ No newline at end of file From 85b37c8b1f040611fee547f5c156d9a829c17c3f Mon Sep 17 00:00:00 2001 From: AlwinJun Date: Wed, 26 Jun 2024 19:30:14 +0800 Subject: [PATCH 2/9] Pass test_array_validation --- app/Http/Controllers/ProfileController.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index bb6bab39..23b75790 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -13,10 +13,12 @@ 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 ?? []); return 'Success'; } -} +} \ No newline at end of file From b4c1d7ca749af6318e98e47d7df9d9aac89a78a0 Mon Sep 17 00:00:00 2001 From: AlwinJun Date: Wed, 26 Jun 2024 19:34:34 +0800 Subject: [PATCH 3/9] Pass test_validation_errors_shown_in_blade --- resources/views/projects/create.blade.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/resources/views/projects/create.blade.php b/resources/views/projects/create.blade.php index dc19b63b..b3b17e3f 100644 --- a/resources/views/projects/create.blade.php +++ b/resources/views/projects/create.blade.php @@ -14,5 +14,14 @@


+ @if ($errors->any()) +
+
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif From 9fa0fafc32bd6b8a1bfb2d919dcc87e015a76a85 Mon Sep 17 00:00:00 2001 From: AlwinJun Date: Wed, 26 Jun 2024 19:38:59 +0800 Subject: [PATCH 4/9] Pass test_validation_specific_error_shown_in_blade --- resources/views/products/create.blade.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/resources/views/products/create.blade.php b/resources/views/products/create.blade.php index 611b7ef6..b7f7a71c 100644 --- a/resources/views/products/create.blade.php +++ b/resources/views/products/create.blade.php @@ -6,9 +6,10 @@
{{-- TASK: show the validation error for the specific "name" field --}} {{-- using one Blade directive: pseudo-code below --}} - {{-- @directive --}} - {{-- {{ $message }} --}} - {{-- @endDirective --}} + @error('name') + {{ $message }} + @enderror +

From bbacf0b69fb83f535a4c381cd105456cb81c2880 Mon Sep 17 00:00:00 2001 From: AlwinJun Date: Wed, 26 Jun 2024 19:40:43 +0800 Subject: [PATCH 5/9] Pass test_old_value_stays_in_form_after_validation_error --- resources/views/teams/create.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 --}} - +

From cb9a092956f4b069290c7fcb35ccb86c4603d860 Mon Sep 17 00:00:00 2001 From: AlwinJun Date: Wed, 26 Jun 2024 22:02:26 +0800 Subject: [PATCH 6/9] Pass test_form_request_validation --- app/Http/Requests/StoreItemRequest.php | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 app/Http/Requests/StoreItemRequest.php diff --git a/app/Http/Requests/StoreItemRequest.php b/app/Http/Requests/StoreItemRequest.php new file mode 100644 index 00000000..101ff708 --- /dev/null +++ b/app/Http/Requests/StoreItemRequest.php @@ -0,0 +1,29 @@ + + */ + public function rules(): array + { + return [ + 'name' => ['required'], + 'description' => ['required'] + ]; + } +} \ No newline at end of file From 92f4e776693da48f4910376499d1a232dd6cc4d7 Mon Sep 17 00:00:00 2001 From: AlwinJun Date: Wed, 26 Jun 2024 22:02:44 +0800 Subject: [PATCH 7/9] Pass test_update_forbidden_field --- app/Http/Controllers/UserController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 404d7471..fd2a50f2 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -11,8 +11,8 @@ 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()); + $user->update($request->safe()->except(['is_admin'])); return 'Success'; } -} +} \ No newline at end of file From 8aec440bbaee6c2f69b4de2a5bbe5e8b8395c21e Mon Sep 17 00:00:00 2001 From: AlwinJun Date: Wed, 26 Jun 2024 22:10:53 +0800 Subject: [PATCH 8/9] Pass test_custom_error_message --- app/Http/Requests/StoreBuildingRequest.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/Http/Requests/StoreBuildingRequest.php b/app/Http/Requests/StoreBuildingRequest.php index fbd8c064..09a7f1e4 100644 --- a/app/Http/Requests/StoreBuildingRequest.php +++ b/app/Http/Requests/StoreBuildingRequest.php @@ -27,7 +27,14 @@ public function authorize() public function rules() { return [ - 'name' => 'required' + 'name' => ['required'] ]; } -} + + public function messages(): array + { + return [ + 'name.required' => 'Please enter the name' + ]; + } +} \ No newline at end of file From 98ca9388178431567a61538e089634da32b465b1 Mon Sep 17 00:00:00 2001 From: AlwinJun Date: Wed, 26 Jun 2024 22:26:17 +0800 Subject: [PATCH 9/9] Pass test_custom_validation_rule --- app/Rules/Uppercase.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 app/Rules/Uppercase.php diff --git a/app/Rules/Uppercase.php b/app/Rules/Uppercase.php new file mode 100644 index 00000000..ac5a1999 --- /dev/null +++ b/app/Rules/Uppercase.php @@ -0,0 +1,21 @@ +