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