Ich bin derzeit mit ein bisschen Validierung auf einem Anmeldeformular kämpfen.Laravel benutzerdefinierte Validierung auf Anmeldeformular
Grundsätzlich, wenn ein Benutzer registriert, wird überprüft, ob der eindeutige Code, den sie eingegeben haben, gültig ist und wenn nicht, lassen sie sich nicht anmelden.
Aber in meiner Codetabelle, die das liest, habe ich auch ein Ablaufdatum auf dem Code.
Ich muss eine weitere Überprüfung durchführen, nachdem es gültig ist, dass das Ablaufdatum nicht abgelaufen ist, mit anderen Worten, es ist nicht größer als jetzt.
Ich denke, Sie können dies im Validator tun, aber ich habe ein wenig mit der Syntax und nicht sicher, wohin es gehen soll. Hier ist mein Code:
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']),
]);
}
Vielen Dank im Voraus :)
Welche Version von Laravel verwenden Sie? –
Sorry, ich sollte dies klar gemacht haben, ich benutze Laravel 5.3 – user6073700