& ldquo; Маршрут [login] не определен. & rdquo; Laravel 5.6 [дубликат]

Рабочий пример для Турции, просто измените

d{9}

в соответствии с вашими потребностями и начните использовать его.

function validateMobile($phone)
{
    $pattern = "/^(05)\d{9}$/";
    if (!preg_match($pattern, $phone))
    {
        return false;
    }
    return true;
}

$phone = "0532486061";

if(!validateMobile($phone))
{
    echo 'Incorrect Mobile Number!';
}

$phone = "05324860614";
if(validateMobile($phone))
{
    echo 'Correct Mobile Number!';
}
24
задан inkd 27 March 2015 в 16:00
поделиться

10 ответов

Вы пытаетесь перенаправить на указанный маршрут , чье имя login, но у вас нет маршрутов с таким именем:

Route::post('login', [ 'as' => 'login', 'uses' => 'LoginController@do']);

'as' часть второго параметра определяет имя маршрута. Первый строковый параметр определяет маршрут .

43
ответ дан Jeff Lambert 21 August 2018 в 16:28
поделиться
  • 1
    Не будет ли Route::post('login', 'LoginController@do')->name('login'); работать одинаково и читать немного чище? – Anovative 25 July 2018 в 15:50
  • 2
    @Anovative Возможно, это решение, хотя, но вы правы, он должен работать точно так же. Я не уверен в своей голове, если эта функция существует в L4, и я думаю, что этот вопрос был задан до того, как вышел L5 (хотя я также не уверен в этом банкомате). – Jeff Lambert 25 July 2018 в 15:54
  • 3
    – Hemant Kumar 30 October 2018 в 10:17

В приложении \ Exceptions \ Handler.php

protected function unauthenticated($request, AuthenticationException $exception)
{
    if ($request->expectsJson()) {
        return response()->json(['error' => 'Unauthenticated.'], 401);
    }

    return redirect()->guest(route('auth.login'));
}
24
ответ дан aisthetes 21 August 2018 в 16:28
поделиться
  • 1
    да, но жаль, что Ларавел закодировал этот маршрут ((это не очевидно для новичков – yuklia 24 October 2017 в 14:40
  • 2
    Спасибо вам большое за это. – Galironfydar 28 November 2017 в 13:31
  • 3
    Это ответ, который я ищу так много дней – Sushin Pv 10 March 2018 в 08:38
  • 4
    Не забудьте добавить это в начало файла: use Illuminate\Auth\AuthenticationException; – totymedli 22 May 2018 в 23:29

Недавно я столкнулся с этой ошибкой после использования встроенной проверки подлинности Laravel с помощью php artisan make:auth. Когда вы запустите эту команду, эти новые маршруты добавляются в ваш файл web.php:

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

Я, должно быть, случайно удалил эти маршруты. Запуск php artisan make:auth снова восстановил маршруты и решил проблему. Я запускаю Laravel 5.5.28.

2
ответ дан clone45 21 August 2018 в 16:28
поделиться

Попробуйте этот метод:

найдите этот файл

«RedirectifAuthenticated.php»

обновите следующее, как вы предпочитают

 if (Auth::guard($guard)->check()) {
   return redirect('/');
 }

$ guard, так как arg будет принимать имя настраиваемого защитного устройства, которое вы установили, например. «admin», тогда это должно быть так.

if (Auth::guard('admin')->check()) {
  return redirect('/admin/dashboard');
}else{
  return redirect('/admin/login');
}
3
ответ дан delino 21 August 2018 в 16:28
поделиться

Вам нужно добавить следующую строку в файл маршрутов web.php:

Auth::routes();

Если у вас есть настраиваемые маршруты аутентификации, убедитесь, что у вас / login route есть 'as' => 'login «

2
ответ дан Dibyendu Mitra Roy 21 August 2018 в 16:28
поделиться

В случае API, или пусть скажем при внедрении JWT. Средство промежуточного распространения JWT выбрасывает это исключение, когда оно не может найти токен и будет пытаться перенаправить на маршрут входа в систему. Поскольку он не смог найти какой-либо журнал в указанном маршруте, он выбрасывает это исключение. Вы можете изменить маршрут в «app \ Exceptions \ Handler.php»

использовать Illuminate \ Auth \ AuthenticationException;

protected function unauthenticated($request, AuthenticationException $exception){
        return $request->expectsJson()
             ? response()->json(['message' => $exception->getMessage()], 401)
            : redirect()->guest(route('ROUTENAME'));
}
1
ответ дан Nirav Chavda 21 August 2018 в 16:28
поделиться

Laravel ввел Именованные маршруты в Laravel 4.2.

ЧТО ТАКОЕ ИМЕНА МАРШРУТЫ?

Именованные маршруты позволяют вам указывать имена для вашего маршрута маршрутизатора. Следовательно, используя имя, мы можем вызвать маршруты в требуемом файле.


КАК СОЗДАТЬ ИМЕНЕМЫЕ МАРШРУТЫ?

Именованные маршруты созданы двумя способами: as и name ()

МЕТОД 1:

Route::get('about',array('as'=>'about-as',function()
    {
            return view('about');
     }
));

МЕТОД 2:

 Route::get('about',function()
{
 return view('about');
})->name('about-as');

Как мы используем в представлениях?

<a href="{{ URL::route("about-as") }}">about-as</a>

Следовательно, laravel 'middleware' => 'auth' уже предопределено для перенаправления в качестве страницы входа, если пользователь еще не выполнил вход в систему. Нам следует использовать как ключевое слово

    Route::get('login',array('as'=>'login',function(){
    return view('login');
}));
7
ответ дан Pathik Vejani 21 August 2018 в 16:28
поделиться

Заменить в ваших представлениях (файлы лезвий) все

{{route ('/')}} ----- by ----> {{url ('/')}}

0
ответ дан Rubén Ruíz 21 August 2018 в 16:28
поделиться
0
ответ дан Denise Ignatova 1 November 2018 в 09:39
поделиться
0
ответ дан jhon chacolla 1 November 2018 в 09:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: