Ich erstelle Validierung (über FormRequest) für meine API und ich muss den Statuscode in Abhängigkeit von fehlgeschlagenen Validierungsregel ändern (z. B. ID ist String statt Int, 400 erhalten. Wenn ID existiert nicht, bekomme 404).Laravel FormRequest Antwort Statuscode bei fehlgeschlagener Validierung
wollte ich so etwas schreiben:
/**
* Get the proper failed validation response for the request.
*
* @param array $errors
* @return \Symfony\Component\HttpFoundation\Response
*/
public function response(array $errors)
{
$failedRules = $this->getValidatorInstance()->failed();
$statusCode = 400;
if (isset($failedRules['id']['Exists'])) $statusCode = 404;
return response($errors, $statusCode);
}
jedoch $ this-> getValidatorInstance() -> fehlgeschlagen() gibt leeres Array
- Warum $ this-> getValidatorInstance () -> gescheitert leeres Array zurückgeben?
- Wie kann ich das beheben? Gibt es eine andere Möglichkeit, den Statuscode abhängig von der fehlgeschlagenen Validierungsregel zurückzugeben?
Welche Version von Laravel verwenden Sie? –
Ich benutze Laravel 5.3 – Ivan