我目前正在努力在註冊表單上進行一些驗證。Laravel在註冊表格上自定義驗證
基本上,當用戶註冊時,它將檢查他們輸入的唯一代碼是否有效,如果不是,則不讓他們註冊。
但在我的代碼表中,這從我讀取也有一個到期日的代碼。
我認爲在有效期限沒有通過之後需要再次進行檢查,換句話說,它不會比現在更大。
我認爲你可以在驗證器中做到這一點,但我在語法上掙扎了一下,不確定它應該去哪裏。這裏是我的代碼:
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