Как определить действие внутри формы в Laravel? - PullRequest
1 голос
/ 18 июня 2019

Я просто хочу добавить действие в форму, и я пытаюсь сделать следующее:

{{ Form::open(['action'=> ['AuthController@login'], 'method'=>"POST",'class'=>'login-form']) }}

Но я получаю следующую ошибку:

Action App\Http\Controllers\AuthController@login not defined. (View: D:\server\htdocs\PMS\resources\views\custom_auth\login.blade.php)

Я настраиваю коллективный Html. Что не так в моем коде?

Обновление:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Validator;
use Auth;

class AuthController extends Controller
{
    function show(){
        return view('custom_auth.login');
    }

    public function login(Request $request){
        print_r($request); exit;
        $this->validate($request,[
            'email' => 'required|email',
            'password' => 'required|alphaNum|min:3'
        ]);

        $user_data = array(
            'email' => $request->get('email'),
            'password' => $request->get('password')
        );
        if(Auth::attempt($user_data)){
            return redirect('/dashboard');
        }else{
            return back()->with('error','Wrong Credential');
        }
    }
}

1 Ответ

1 голос
/ 18 июня 2019

Вам не нужно помещать свои действия в массив при использовании Form помощника, поэтому попробуйте:

{{ Form::open(['action'=> 'AuthController@login', 'method'=>"POST",'class'=>'login-form']) }}

И, конечно, убедитесь, что внутри существует метод public login()your AuthController

Кроме того, не забудьте добавить это в свой файл маршрутов, routes/web.php:

Route::post('login', 'AuthController@login');

Надеюсь, это поможет

...