Für die Verwendung von Form Request Validation in Laravel kompatibel sein, habe ich eine StoreCourseRequest Klasse wie folgt:Erklärung formatErrors() sollte mit FormRequest :: formatErrors in Laravel
namespace App\Http\Requests;
use App\Http\Requests\Request;
use Illuminate\Validation\Validator;
class StoreCourseRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'title' => 'required',
'description' => 'required'
];
}
public function messages()
{
return [
'title.required' => 'عنوان دوره را وارد کنید',
'description.required' => 'توضیحات دوره را وارد کنید',
];
}
protected function formatErrors(Validator $validator)
{
$result = ['success' => false, 'msg' => $validator->errors()->first()];
return $result;
}
}
Da alle Anforderung als Ajax sendet, ich will Das Format der Fehlermeldungen anpassen, wie Sie im obigen Code sehen.
Aber nach Anforderung sendet, Fehler unten aufgetreten ist:
ErrorException in StoreCourseRequest.php line 9:
Declaration of App\Http\Requests\StoreCourseRequest::formatErrors() should be compatible with Illuminate\Foundation\Http\FormRequest::formatErrors(Illuminate\Contracts\Validation\Validator $validator)
Ich denke, dass alles richtig ist, und docs Anweisung folgen formrequest Klasse zu erstellen, aber ich weiß nicht, was dieser Fehler ist und warum auftritt?
Thanks @ drndavi importiert, Ihre Lösung war richtig, aber wie kann ich wieder ändern 'Statuscode: 422 Unprocessable Entity' auf' OK 200' in Ajax Form Anfragen –
Wenn Sie diese Antwort erhalten, dann wurden die übermittelten Daten höchstwahrscheinlich vom Validator als nicht konform befunden, und Sie müssten diese Antwort in Ihrem Frontend behandeln. –
Ich habe der StoreCourseRequest-Klasse eine Antwortmethode wie folgt hinzugefügt: 'öffentliche Funktion Antwort (Array $ Fehler) \t \t { \t \t \t Antwort Antwort() -> Json ($ Fehler, 200); \t \t} ' –