Haben Sie eine Methode, die CSV-Daten in eine Datenbank importiert. Ich mache eine grundlegende Validierung mit
class CsvImportController extends Controller
{
public function import(Request $request)
{
$this->validate($request, [
'csv_file' => 'required|mimes:csv,txt',
]);
Aber danach können Dinge aus komplexeren Gründen schief gehen, weiter unten im Kaninchenbau, was zu Ausnahmen führt. Ich kann hier kein richtiges Validierungsmaterial für die validate
Methode schreiben , aber ich mag es wirklich, wie Laravel funktioniert, wenn die Validierung fehlschlägt und wie einfach es ist, die Fehler in die Blade-Ansicht usw. einzubetten, also ...
Gibt es eine (vorzugsweise saubere) Möglichkeit , Laravel manuell mitzuteilen, dass "Ich weiß, dass ich Ihre validate
Methode gerade nicht angewendet habe, aber ich möchte wirklich, dass Sie diesen Fehler hier aufdecken, als ob ich es getan hätte"? Gibt es etwas, das ich zurückgeben kann, eine Ausnahme, mit der ich Dinge einpacken kann, oder etwas?
try
{
// Call the rabbit hole of an import method
}
catch(\Exception $e)
{
// Can I return/throw something that to Laravel looks
// like a validation error and acts accordingly here?
}
Validator::extend('foo', function ($attribute, $value, $parameters, $validator) { return $value == 'foo'; });
hinzuzufügen ? Dann können Sie die Foo-Regel in die Regeln aufnehmen'csv_file' => 'required|foo|mimes:csv,txt',
?