Возврат ошибки проверки как JSON клиенту - PullRequest
0 голосов
/ 18 мая 2018

После проверки ввода в RegistrationController моего API мне нужно получить ответ JSON обратно клиенту.При использовании функции валидатора по умолчанию я не получаю ответ.Тем не менее, функция работает правильно.Когда проверка завершится успешно, пользователь будет создан, когда он потерпит неудачу, пользователь будет перенаправлен обратно.

protected function validator(array $data)
{
    return Validator::make($data, [
        'first_name' => 'required|string|max:255',
        'last_name' => 'required|string|max:255',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:6|confirmed',
        'birth_year' => 'required|integer',
        'lat' => 'required',
        'lon' => 'required',
    ]);
}

Мне нужно получить ответ обратно при неудаче проверки, чтобы проинформировать пользователя о неудачном вводеполе.Я попытался поместить результат Validator::make в переменную и получить ошибки.Но если нет return непосредственно перед функцией Validator::make, происходит сбой с ошибкой «Метод проверки не существует».

protected function validator(array $data)
{
    $validator = Validator::make($data, [
        'first_name' => 'required|string|max:255',
        'last_name' => 'required|string|max:255',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:6|confirmed',
        'birth_year' => 'required|integer',
        'lat' => 'required',
        'lon' => 'required',
    ]);

   if ($validator->fails()) {

        //pass validator errors as errors object for ajax response

        return response()->json(['errors'=>$validator->errors()]);
    }
}

Как вернуть ответ JSON с ошибками проверкиклиенту?И почему это важно, если перед функцией Validator::make стоит return?

...