Форма входа и регистрации в Laravel 5

Я начинаю изучать новый язык и пытаюсь изучить его, создав небольшой проект, чтобы сделать мой стартовый сайт, но у меня есть проблема. Я только создаю новый проект без какого-либо плагина. У меня проблема с логином и формой регистрации. Я положил это в файл маршрута:

get('user/login', 'Auth\AuthController@showLoginForm');
post('user/login', 'Auth\AuthController@postLogin');
get('user/register', 'Auth\AuthController@showRegistrationForm');
post('user/register', 'Auth\AuthController@register');

И сделайте логин и зарегистрируйтесь. Он показывает мне формы, но я не могу отправить их, и я не знаю, как вставить в базу данных или как проверить учетные данные пользователя. Можете ли вы сказать мне, как это сделать в новой бета-версии Laravel?

Проблема в том, что Laravel показывает мне форму входа и регистрации. Но когда я нажимаю "Отправить", он ничего не делает, только обновляет страницу. Я помещаю method="POST" action="" в формы. Когда я меняюсь

public function register(RegisterRequest $request)

в

public function register()

в App\Http\Controllers\Auth\AuthController, когда я отправляю форму, выдается ошибка, что $request не найден.

Вы можете увидеть весь код в: эта ссылка

1 ответ

Решение

Вот как это работает в Laravel 5, когда вы используете запрос. Если вы вводите объект запроса, например, так:

public function register(RegisterRequest $request) {
   // your code goes here
}

код этой функции не будет выполнен до RegisterRequest проверить ваши данные с успехом.

Глядя на ваши правила:

    return [
        'email' => 'required|email|unique:users',
        'password' => 'required|confirmed|min:8',
   ];

Вы должны убедиться, что ваши данные соответствуют этим правилам.

Вы также должны добавить в свою форму отображения ошибок:

@foreach ($errors->all() as $error)
 {{ $error }}
@endforeach

отображать ошибки проверки в форме.

РЕДАКТИРОВАТЬ

Кажется, все хорошо в вашем коде. Действительная функция запускается. Если ты мне не веришь, поменяй register функция в:

public function register()
{
   return "This is register function";
}

Ошибка, которую вы получаете, потому что, если вы удалите RegisterRequest $request из вашего параметра функции, вы не можете использовать позже $request->email; потому что это не определено

Другие вопросы по тегам