Проверка достоверности Laravel не работала, как ожидалось - PullRequest
0 голосов
/ 14 мая 2019

UserController.php

public function login(Request $request)
{
    $request->validate([
        'email'=>'required',
        'password'=>'required'
    ]);
    return "test";
}

api.php

 Route::group(['prefix' => 'admin'], function() {
    Route::post('login', 'UserController@login');
    Route::get('users', 'UserController@index');
 });

Web.php.

Route::get('/', function () {
    return view('welcome');
});

если я передаю электронную почту и пароль, выводится test .но когда я пропускаю любой из параметров, он загружает index.blade.php Image

Ответы [ 3 ]

0 голосов
/ 14 мая 2019

Установите Header на Postman сначала.

Accept: application/json
0 голосов
/ 14 мая 2019

Вы пропустили условия проверки.

$validator = Validator::make($request->all(), [
    'email' => 'required',
    'password' => 'required',
]);

if ($validator->fails()) {
    return 'Success';
} else {
    return 'Error';
}

Согласно вашему текущему коду, вы отправляете return "test"; каждый раз, независимо от подтверждения

0 голосов
/ 14 мая 2019

Измените функцию login() следующим образом

public function login(Request $request)
{

    $validator = Validator::make($request->all(), [
        'email' => 'required',
        'password' => 'required',
    ]);

            if ($validator->fails()) {
                return redirect(action('UserController@login')) // replace with your login route
                        ->withErrors($validator)
                        ->withInput();
           } 

            return "test";
        }

Это может решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...