Skip to content

Commit 2983d09

Browse files
committed
Consider request method when validating for required fields
1 parent 081b91c commit 2983d09

File tree

3 files changed

+55
-18
lines changed

3 files changed

+55
-18
lines changed

app/admin/requests/Location.php

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,19 @@ public function attributes()
3131

3232
public function rules()
3333
{
34-
return [
35-
'location_name' => ['sometimes', 'required', 'between:2,32'],
36-
'location_email' => ['sometimes', 'required', 'email:filter', 'max:96'],
34+
$method = Request::method();
35+
36+
$rules = [
37+
'location_name' => ['between:2,32'],
38+
'location_email' => ['email:filter', 'max:96'],
3739
'location_telephone' => ['sometimes'],
38-
'location_address_1' => ['sometimes', 'required', 'between:2,128'],
40+
'location_address_1' => ['between:2,128'],
3941
'location_address_2' => ['max:128'],
4042
'location_city' => ['max:128'],
4143
'location_state' => ['max:128'],
4244
'location_postcode' => ['max:10'],
43-
'location_country_id' => ['sometimes', 'required', 'integer'],
44-
'options.auto_lat_lng' => ['sometimes', 'required', 'boolean'],
45+
'location_country_id' => ['integer'],
46+
'options.auto_lat_lng' => ['boolean'],
4547
'location_lat' => ['sometimes', 'numeric'],
4648
'location_lng' => ['sometimes', 'numeric'],
4749
'description' => ['max:3028'],
@@ -50,5 +52,15 @@ public function rules()
5052
'gallery.title' => ['max:128'],
5153
'gallery.description' => ['max:255'],
5254
];
55+
56+
if ($method == 'post') {
57+
$rules['location_name'][] = 'required';
58+
$rules['location_email'][] = 'required';
59+
$rules['options.auto_lat_lng'][] = 'required';
60+
$rules['location_lng'][] = 'required';
61+
$rules['location_country_id'][] = 'required';
62+
}
63+
64+
return $rules;
5365
}
5466
}

app/admin/requests/Menu.php

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,31 @@ public function attributes()
2626

2727
public function rules()
2828
{
29-
return [
30-
'menu_name' => ['required', 'between:2,255'],
29+
$method = Request::method();
30+
31+
$rules = [
32+
'menu_name' => ['between:2,255'],
3133
'menu_description' => ['between:2,1028'],
32-
'menu_price' => ['required', 'numeric', 'min:0'],
33-
'categories.*' => ['sometimes', 'required', 'integer'],
34+
'menu_price' => ['numeric', 'min:0'],
35+
'categories.*' => ['sometimes', 'integer'],
3436
'locations.*' => ['integer'],
3537
'stock_qty' => ['nullable', 'integer'],
36-
'minimum_qty' => ['sometimes', 'required', 'integer', 'min:1'],
37-
'subtract_stock' => ['sometimes', 'required', 'boolean'],
38+
'minimum_qty' => ['sometimes', 'integer', 'min:1'],
39+
'subtract_stock' => ['sometimes', 'boolean'],
3840
'order_restriction.*' => ['nullable', 'string'],
3941
'menu_status' => ['boolean'],
4042
'mealtime_id' => ['nullable', 'integer'],
4143
'menu_priority' => ['min:0', 'integer'],
4244
];
45+
46+
if ($method == 'post') {
47+
$rules['menu_name'][] = 'required';
48+
$rules['menu_price'][] = 'required';
49+
$rules['categories.*'][] = 'required';
50+
$rules['minimum_qty'][] = 'required';
51+
$rules['subtract_stock'][] = 'required';
52+
}
53+
54+
return $rules;
4355
}
4456
}

app/admin/requests/Reservation.php

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,29 @@ public function attributes()
2222

2323
public function rules()
2424
{
25+
$method = Request::method();
26+
2527
return [
26-
'location_id' => ['sometimes', 'required', 'integer'],
27-
'first_name' => ['required', 'between:1,48'],
28-
'last_name' => ['required', 'between:1,48'],
28+
'location_id' => ['integer'],
29+
'first_name' => ['between:1,48'],
30+
'last_name' => ['between:1,48'],
2931
'email' => ['email:filter', 'max:96'],
3032
'telephone' => ['sometimes'],
31-
'reserve_date' => ['required', 'valid_date'],
32-
'reserve_time' => ['required', 'valid_time'],
33-
'guest_num' => ['required', 'integer', 'min:1'],
33+
'reserve_date' => ['valid_date'],
34+
'reserve_time' => ['valid_time'],
35+
'guest_num' => ['integer', 'min:1'],
3436
'duration' => ['integer', 'min:1'],
3537
];
38+
39+
if ($method == 'post') {
40+
$rules['location_id'][] = 'required';
41+
$rules['first_name'][] = 'required';
42+
$rules['last_name'][] = 'required';
43+
$rules['reserve_date'][] = 'required';
44+
$rules['reserve_time'][] = 'required';
45+
$rules['guest_num'][] = 'required';
46+
}
47+
48+
return $rules;
3649
}
3750
}

0 commit comments

Comments
 (0)