diff --git a/app/Http/Controllers/PostController.php b/app/Http/Controllers/PostController.php index cd0808b7..0b0f406c 100644 --- a/app/Http/Controllers/PostController.php +++ b/app/Http/Controllers/PostController.php @@ -10,8 +10,7 @@ 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 + ['title' => ["required", "unique:posts"]] ); // Saving the post diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index bb6bab39..7054bf76 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -9,10 +9,8 @@ class ProfileController extends Controller public function update(Request $request) { $request->validate([ - // TASK: imagine that in the Blade the fields are - // - // - // 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..53610e58 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -11,7 +11,7 @@ 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->except(['is_admin'])); return 'Success'; } diff --git a/app/Http/Requests/StoreBuildingRequest.php b/app/Http/Requests/StoreBuildingRequest.php index fbd8c064..88cad5dc 100644 --- a/app/Http/Requests/StoreBuildingRequest.php +++ b/app/Http/Requests/StoreBuildingRequest.php @@ -30,4 +30,11 @@ public function rules() 'name' => 'required' ]; } + + public function messages(): array + { + 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..6c6f7a4c --- /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..f22c3c09 --- /dev/null +++ b/app/Rules/Uppercase.php @@ -0,0 +1,17 @@ +title()) { + $fail("The :attribute does not start with an uppercased letter"); + } + } +} \ No newline at end of file diff --git a/resources/views/products/create.blade.php b/resources/views/products/create.blade.php index 611b7ef6..b276b778 100644 --- a/resources/views/products/create.blade.php +++ b/resources/views/products/create.blade.php @@ -7,8 +7,11 @@ {{-- TASK: show the validation error for the specific "name" field --}} {{-- using one Blade directive: pseudo-code below --}} {{-- @directive --}} + @error('name') + {{ $message }} + @enderror {{-- {{ $message }} --}} {{-- @endDirective --}}

- + \ No newline at end of file diff --git a/resources/views/projects/create.blade.php b/resources/views/projects/create.blade.php index dc19b63b..2e7389cd 100644 --- a/resources/views/projects/create.blade.php +++ b/resources/views/projects/create.blade.php @@ -3,6 +3,22 @@ {{-- TASK: add the validation errors here - with whatever HTML structure you want --}} {{-- in case of title/description empty, visitor should see --}} {{-- "The name field is required." and "The description field is required." --}} + + +@if($errors->name) + {{$errors->name}} +@endif +@if($errors->description) + {{$errors->description}} +@endif
@csrf @@ -15,4 +31,4 @@

-
+ \ No newline at end of file diff --git a/resources/views/teams/create.blade.php b/resources/views/teams/create.blade.php index 2d003c05..251400bd 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 --}} - +

- + \ No newline at end of file diff --git a/tests/Feature/ValidationTest.php b/tests/Feature/ValidationTest.php index f5dba8b6..7343fd78 100644 --- a/tests/Feature/ValidationTest.php +++ b/tests/Feature/ValidationTest.php @@ -41,7 +41,7 @@ public function test_array_validation() ] ]); $response->assertStatus(200); - } + } public function test_validation_errors_shown_in_blade() {