我有这个reference_id变量,我想用它在我的网站上注册。基本上,如果您没有输入一个与列表(~5-10)值中的一个值正确匹配的reference_id,那么我想将它们拒之门外。类似地,如果您只在电子邮件字段中进行测试,它会阻止您并说“嘿,这不是有效的电子邮件!”
我该把逻辑放哪儿呢?我在下面粘贴了我的RegisterController,因为我认为它应该和电子邮件逻辑一起放在那里。我可以很容易地创建一个变量,并做一些类似的事情
$rfid=reference_id
$list=array(list)
if ($rfid==$list) {
allow
}
else {
reject
}但是您可以知道,即使是这样,我也不确定它将如何准确地工作,也不知道如何将它放在代码的其他部分。任何方向都将不胜感激!
RegisterController:
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
'reference_id' => 'max:255',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'reference_id' => $data['reference_id'],
]);
}发布于 2017-01-09 03:35:08
如果reference_id存在于表中,则可以使用
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
'reference_id' => 'max:255|exists:table_name',
]);
}如果有一个数组
使用in_array:$array_name进行验证
要正确理解可用的Laravel验证规则,请参阅:https://laravel.com/docs/5.3/validation#rule-exists
希望这能帮到你..。
如果有任何查询请告诉我..。
https://stackoverflow.com/questions/41540524
复制相似问题