В настоящее время я боюсь с некоторой валидацией в регистрационной форме.Laravel custom validation on registration form
В основном, когда пользователь регистрируется, он проверяет, действительно ли уникальный код, который они ввели, и если он не позволяет им зарегистрироваться.
Но в моей таблице кодов, которую это читает, у меня также есть дата истечения срока действия кода.
Мне нужно сделать еще один чек после того, как считается действительным, что дата истечения срока действия не прошла, другими словами, она не больше, чем сейчас.
Я думаю, вы можете сделать это в валидаторе, но я немного борюсь с синтаксисом и не уверен, куда он должен идти. Вот мой код:
protected function validator(array $data)
{
return Validator::make($data, [
'code' => 'required|exists:codes',
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'date_of_birth' => 'required|date',
'password' => 'required|min:6|confirmed',
'accept_terms' => 'required|accepted',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
Code::where('code', $data['code'])->increment('uses');
$data['code_id'] = Code::where('code', $data['code'])->value('id');
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'date_of_birth' => $data['date_of_birth'],
'accept_terms' => $data['accept_terms'],
'code' => $data['code'],
'code_id' => $data['code_id'],
'password' => bcrypt($data['password']),
]);
}
Заранее спасибо :)
Какую версию Laravel вы используете? –
Извините, что я должен был сделать это ясно, я использую Laravel 5.3 – user6073700