Как я могу передать массив в throw new Exception() в PHP. Что лучше всего передать массив в обработчик исключений?

Вот мой код, но отправьте мне ошибку. Его неправильные параметры для обработчика исключений.

   try {
        $validator = Validator::make($request->all(), [
            'first_name' => 'required|max:255',
            'last_name' => 'required|max:255',
            'email_address' => 'required|unique:users|email',
            'username' => 'required|unique:users|max:20',
            'phone_number' => 'alpha_num|max:13',
            'password' => 'required|min:6|max:18',
        ]);


        if ($validator->fails()) {
            throw new Exception('Please checkout your fields again!', $validator->errors() );
        }

    }catch( Exception $e){
        return ['success'=>false, 'message'=>$e->getMessage()];
    }

2 ответа

Вы можете использовать функцию implode, которая присоединится к массиву в виде строки


что-то вроде этого:

try {
        $validator = Validator::make($request->all(), [
            'first_name' => 'required|max:255',
            'last_name' => 'required|max:255',
            'email_address' => 'required|unique:users|email',
            'username' => 'required|unique:users|max:20',
            'phone_number' => 'alpha_num|max:13',
            'password' => 'required|min:6|max:18',
        ]);


        if ($validator->fails()) {
            throw new Exception('Please checkout your fields again!', implode(',',$validator->errors()) );
        }

    }catch( Exception $e){
        return ['success'=>false, 'message'=>$e->getMessage()];
    }

Вы должны попробовать это может быть больше помочь вам:

$validator = Validator::make($request->all(), [
            'first_name' => 'required|max:255',
            'last_name' => 'required|max:255',
            'email_address' => 'required|unique:users|email',
            'username' => 'required|unique:users|max:20',
            'phone_number' => 'alpha_num|max:13',
            'password' => 'required|min:6|max:18',
        ]);

        if ($validator->fails()) {
            return redirect('yourRoute')
                        ->withErrors($validator)
                        ->withInput();
        }

Для получения более подробной информации, вы можете следовать этой ссылке.

Другие вопросы по тегам