Форма входа и регистрации в 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;
потому что это не определено