首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果表单输入与使用Laravel‘match的接受值不匹配,则块注册(5.3)

如果表单输入与使用Laravel‘match的接受值不匹配,则块注册(5.3)
EN

Stack Overflow用户
提问于 2017-01-09 03:17:49
回答 2查看 33关注 0票数 0

我有这个reference_id变量,我想用它在我的网站上注册。基本上,如果您没有输入一个与列表(~5-10)值中的一个值正确匹配的reference_id,那么我想将它们拒之门外。类似地,如果您只在电子邮件字段中进行测试,它会阻止您并说“嘿,这不是有效的电子邮件!”

我该把逻辑放哪儿呢?我在下面粘贴了我的RegisterController,因为我认为它应该和电子邮件逻辑一起放在那里。我可以很容易地创建一个变量,并做一些类似的事情

代码语言:javascript
复制
$rfid=reference_id
$list=array(list)
if ($rfid==$list) {
     allow
}
else {
     reject
}

但是您可以知道,即使是这样,我也不确定它将如何准确地工作,也不知道如何将它放在代码的其他部分。任何方向都将不胜感激!

RegisterController:

代码语言:javascript
复制
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'],
    ]);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-09 03:35:08

如果reference_id存在于表中,则可以使用

代码语言:javascript
复制
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

希望这能帮到你..。

如果有任何查询请告诉我..。

票数 0
EN

Stack Overflow用户

发布于 2017-01-09 03:32:24

使用in验证规则。此规则的优点是它独立于源和格式独立:

代码语言:javascript
复制
$allowedValues = implode(',', config('my.allowedKeys'));
// Or:
$allowedValues = implode(',', Reference::pluck('id')->toArray());
....
'reference_id' => 'max:255|in:'.$allowedValues,

如果需要,还可以为该规则添加自定义验证消息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41540524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档