validator = $validator; $this->rules = $rules; } public function handle(IRequest $request, callable $next) { $this->validateRequest($request); return parent::handle($request, $next); } private function validateRequest(IRequest $request) { foreach ($this->rules as $param => $ruleSet) { foreach ($ruleSet as $rule) { $this->validator->rule($param, $rule['callback'], $rule['message']); } } $requestData = array_merge($request->getQueryParameters(), $request->getRequestParameters()); $this->validator->assert($requestData); } } // $validationRules = [ // 'email' => [ // ['callback' => Validator::required(), 'message' => 'Email is required.'], // ['callback' => Validator::email(), 'message' => 'Email must be a valid email address.'] // ], // // Add more rules as needed // ];