Как я могу получить ошибки проверки в json forman? (Laravel Fetch) - PullRequest
0 голосов
/ 13 апреля 2020

Когда я отправляю запрос в контроллер за выборкой, он выдает ошибку (код 500).

Как заставить контроллер обрабатывать мой запрос должным образом?

Запрос поступает в контроллер правильно, потому что, если бы я набрал контроллер echo json_encode("Hello"), я получил ответ в выборке.

Контроллер

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Validation\ValidationException;
use Illuminate\Support\Facades\Validator;

class ExistEmailController extends Controller
{
        public function CheckingLogin(Request $req) {
        $rules = [
        'checkLogin' => 'required|min:5|max:50'
        ];
        $data = $req->checkLogin;
        $validatedData = Validator::make($data, $rules);

        if($validatedData->fails()) {
            return response()->json($validatedData->messages(), 200);
        }
    }
}

Fetch-запрос

let data2 ;
let datasend ;
input_login.onblur = async () => {
  if(input_login.value != "")   {

    let checkLogin = input_login.value;
    let _token = $("input[name='_token']").val();

    let response = await fetch("/email-exist", {
        method: 'POST',
        headers:{"Content-Type":'application/json'},
        body:JSON.stringify({
            "_token":_token,
            "checkLogin":checkLogin
        })
    })
        datasend = await response.json();

        console.log(datasend)
}}

1 Ответ

0 голосов
/ 13 апреля 2020

Я предполагаю, что ваш код не работает здесь

$data = $req->checkLogin;
$validatedData = Validator::make($data, $rules);
                                 ^^^^

The make() method accepts an array at its 1st argument

Проверьте API Документы здесь

И попробуйте следующее вместо

//...
$validator = Validator::make($request->all(), $rules);
//...
...