/** * @return ServiceResponse */ public function route(ServiceRequest $serviceRequest) { try { $this->service = $this->findService($serviceRequest); return $this->service->route($serviceRequest); } catch (\Psc\Form\ValidatorException $e) { $this->logError($e, $this->debugLevel, 2); throw HTTPException::BadRequest(sprintf("Beim Validieren der Daten ist ein Fehler aufgetreten. %s", $e->getMessage()), $e, array_merge(array('Content-Type' => 'text/html'), $this->metadataGenerator->validationError($e)->toHeaders())); } catch (\Psc\Form\ValidatorExceptionList $list) { $this->logError($list, $this->debugLevel, 2); throw $this->err->validationResponse($list, $this->request->accepts('application/json') ? ServiceResponse::JSON : ServiceResponse::HTML, $this->metadataGenerator); } }
/** * Validiert alle Felder im Validator anhand der Daten von FormData und benutzt $err um eine ValidationResponse zu erzeugen (falls es Fehler gab) * * @return FormData (aber validated + cleaned) */ public function validateRequestData(FormData $requestData, Validator $validator, \Psc\Net\ServiceErrorPackage $err) { try { return (object) $validator->validateFields($requestData); // dieser Cast muss angepasst werden wenn FormData mal was andres ist } catch (\Psc\Form\ValidatorExceptionList $e) { throw $err->validationResponse($e); } }