route()->getActionMethod(); $rules = []; // single if ($actionMethod == 'update') { $rules = [ 'id' => 'required|exists:' . (new Package())->getTable(), 'point' => new PointRule, 'price' => new PriceRule, 'title' => 'max:127', // from paypal 'description' => 'max:127' ]; } if ($actionMethod == 'create') { $rules = [ 'point' => new PointRule, 'price' => new PriceRule ]; } // multiple if ($actionMethod == 'updates') { $rules = [ 'packages.*.id' => 'required|exists:' . (new Package())->getTable(), 'packages.*.point' => new PointRule, 'packages.*.price' => new PriceRule, 'packages.*.title' => 'max:127', 'packages.*.description' => 'max:127', ]; } // single if ($actionMethod == 'delete') { $rules = [ 'id' => 'required|exists:' . (new Package())->getTable() ]; } // multiple if ($actionMethod == 'deletes') { $rules = [ 'packages.*.id' => 'required|exists:' . (new Package())->getTable() ]; } return array_merge([ 'status' => 'in:0,1', 'packages.*.status' => 'in:0,1', ], $rules); } /** * Determine if the user is authorized to make this request. */ public function authorize(): bool { return true; } }