Я пытаюсь создать форму регистрации с помощью Laravel.
Я создал запрос \App\Http\Requests\RegisterNewUserRequest
, Это rules()
метод:
public function rules()
{
return [
'email' => 'required|email|min:6|max:255|unique:members',
'password' => 'required|min:6|max:16|confirmed',
'name' => 'required|min:2|max:255|alpha',
'surname' => 'required|min:2|max:255|alpha',
];
}
Это мой членский контроллер
//Route::post('{locale}/create-new-user, 'MemberController@create_new_user');public function create_new_user($locale, RegisterNewUserRequest $request)
{
$input = $request->all();
$input['ip'] = Request::ip();
Member::create($input);
return redirect("/$locale/create-account");
}
Я нарушаю правила проверки при вводе информации. Например, я ввожу два разных пароля и вводю 1 символ в поле электронной почты. Это ничего не говорит об этом. Также не сохраняет данные в базу данных. Страница снова перенаправляется в ту же пустую форму регистрации.
У меня есть резюме проверки на мой взгляд
...
@foreach($errors->all() as $e)
<li>{{$e}}</li>
@endforeach
...
Я отслеживаю опубликованные данные. Это опубликовано. Но что-то странное в потоке.
РЕДАКТИРОВАТЬ
Это происходит также в моей контактной форме. Если я правильно заполняю контактную форму, она отправляет электронное письмо. Но если я нарушу правила проверки, это ничего не говорит о проверке и не отправляет электронную почту.
Это мой контроллер страницы контактов
/**
* @param Requests\SendMessageRequest $
*/
public function sendMessage($locale, SendMessageRequest $request)
{
// validation
// $this->validate($request,
// ['name' => 'required|min:3',
// 'email' => 'required|min:5',
// 'subject' => 'required|min:3',
// 'message' => 'required|min:15'
// ]);
$formData = $request->all();
$formData['ip'] = Request::ip();
Mail::send('contact.send', compact('formData'),
function ($message) use ($formData) {
$message->from('[email protected]', 'Example')
->bcc(['[email protected]'])
->to('[email protected]')
->subject($formData['subject']);
}
);
}
\App\Http\Requests\SendMessageRequest
файла правила () метод
public function rules()
{
return [
'name' => 'required|min:3',
'email' => 'required|min:5',
'subject' => 'required|min:3',
'message' => 'required|min:15',
];
}
На самом деле это работало раньше. После добавления мультиязычности валидация не сработала. Я не знаю, есть ли какое-либо отношение.
Я подозреваю об использовании операторов в верхней части контроллеров и запросов.
Задача ещё не решена.
Других решений пока нет …