diff --git a/app/Http/Controllers/ArticleController.php b/app/Http/Controllers/ArticleController.php
index a1955393..f86ba298 100644
--- a/app/Http/Controllers/ArticleController.php
+++ b/app/Http/Controllers/ArticleController.php
@@ -13,7 +13,7 @@ public function store(Request $request)
$request->validate([
// TASK: create your own validation rule called Uppercase
// It should check whether title's first letter is uppercase
- 'title' => ['required', new Uppercase()]
+ 'title' => ['required', new Uppercase]
]);
Article::create(['title' => $request->title]);
diff --git a/app/Http/Controllers/BuildingController.php b/app/Http/Controllers/BuildingController.php
index 9c752ab8..875b4cbb 100644
--- a/app/Http/Controllers/BuildingController.php
+++ b/app/Http/Controllers/BuildingController.php
@@ -17,7 +17,7 @@ public function create()
// TASK: Customize the validation error message to say "Please enter the name"
public function store(StoreBuildingRequest $request)
{
- Building::create($validator->validated());
+ Building::create($request->validated());
return 'Success';
}
diff --git a/app/Http/Controllers/PostController.php b/app/Http/Controllers/PostController.php
index cd0808b7..a73c9859 100644
--- a/app/Http/Controllers/PostController.php
+++ b/app/Http/Controllers/PostController.php
@@ -9,10 +9,11 @@ class PostController extends Controller
{
public function store(Request $request)
{
- $request->validate(
+ $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
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..4047d361 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->safe()->except(['is_admin']));
return 'Success';
}
diff --git a/app/Http/Requests/StoreBuildingRequest.php b/app/Http/Requests/StoreBuildingRequest.php
index fbd8c064..7fd5d258 100644
--- a/app/Http/Requests/StoreBuildingRequest.php
+++ b/app/Http/Requests/StoreBuildingRequest.php
@@ -30,4 +30,16 @@ public function rules()
'name' => 'required'
];
}
+
+ /**
+ * Get the error messages for the defined validation rules.
+ *
+ * @return array
+ */
+ 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..bda893b8
--- /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..baabb462
--- /dev/null
+++ b/app/Rules/Uppercase.php
@@ -0,0 +1,21 @@
+title()) {
+ $fail("The :attribute does not start with an uppercased letter");
+ }
+ }
+}
diff --git a/resources/views/products/create.blade.php b/resources/views/products/create.blade.php
index 611b7ef6..44928522 100644
--- a/resources/views/products/create.blade.php
+++ b/resources/views/products/create.blade.php
@@ -9,6 +9,9 @@
{{-- @directive --}}
{{-- {{ $message }} --}}
{{-- @endDirective --}}
+ @error('name')
+ {{ $errors->first('name') }}
+ @enderror
Save
diff --git a/resources/views/projects/create.blade.php b/resources/views/projects/create.blade.php
index dc19b63b..32d0d436 100644
--- a/resources/views/projects/create.blade.php
+++ b/resources/views/projects/create.blade.php
@@ -8,10 +8,16 @@
@csrf
Title:
+ @error('name')
+ {{ $errors->first('name') }}
+ @enderror
Description:
+ @error('description')
+ {{ $errors->first('description') }}
+ @enderror
Save
diff --git a/resources/views/teams/create.blade.php b/resources/views/teams/create.blade.php
index 2d003c05..22317c14 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 --}}
-
+
Save