Как я могу вручную вернуть или выдать ошибку / исключение проверки в Laravel?

Есть метод, который импортирует CSV-данные в базу данных. Я делаю некоторую базовую проверку, используя

class CsvImportController extends Controller
{
    public function import(Request $request)
    {   
        $this->validate($request, [
            'csv_file' => 'required|mimes:csv,txt',
        ]);

Но после этого все может пойти не так по более сложным причинам, дальше по кроличьей норе, которая выбрасывает исключения какого-то рода. Я не могу написать правильные вещи для валидации, чтобы использовать их с методом validate, но мне очень нравится, как Laravel работает, когда валидация не проходит, и как легко встраивать ошибки в блейд-представление и т. Д., Поэтому. ..

Есть ли (предпочтительно чистый) способ вручную сказать Laravel: «Я знаю, что я не использовал ваш метод validate прямо сейчас, но я бы очень хотел, чтобы вы раскрыли эту ошибку здесь». как будто я сделал "? Есть ли что-то, что я могу вернуть, исключение, с которым я могу обернуть вещи, или что-то еще?

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?
}
41
задан Svish 13 November 2017 в 09:00
поделиться