【问题标题】:Change default auth in laravel在 laravel 中更改默认身份验证
【发布时间】:2018-01-19 22:06:12
【问题描述】:

我是 laravel 新手,我不知道使用 laravel 的默认身份验证将输入名称传递到何处。

在我的 RegisterController.php 中有

protected function validator(array $data)
{
    return Validator::make($data, [
        'fname' => 'required|string|max:35',
        'lname' => 'required|string|max:35',
        'username' => 'required|string|min:4|max:32|unique:users',
        'email' => 'required|string|email|max:255|unique:users',
        'password' => 'required|string|min:4|confirmed',
    ]);
}

protected function create(array $data)
{
    return User::create([
        'fname' => $data['fname'],
        'lname' => $data['lname'],
        'username' => $data['username'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
}

在我的 User.php 中有

protected $fillable = [
    'username', 'password', 'fname', 'lname', 'email',
];

protected $hidden = [
    'username', 'password', 'remember_token',
];

现在,如果我想将用户名字段的名称更改为 acc_username 之类的名称,但在数据库和类中保留用户名列,我需要更改什么?

意味着只有输入字段将是唯一使用不同名称的字段,即 acc_username 而不是用户名

我一直在尝试更改每一件事,但我仍然无法弄清楚其中哪些实际上接受了带有名称和值的表单,因此我可以对其进行修改

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    在 register.blade 内:

    更改:name="username"

    name="acc_username"

    在验证器更改中

    'username' => 'required|string|min:4|max:32|unique:users'

    'acc_username' => 'required|string|min:4|max:32|unique:users'

    create()

    变化:

    'username' => $data['username'],

    'username' => $data['acc_username'],

    【讨论】:

    • 谢谢您的好先生。我会尽快将其标记为已回答。显然我还没有尝试在 create() 函数中将 $data['username'] 更改为 ['acc_username']
    • 在 .blade 的错误一侧,您也需要将 $errors->has('username') 更改为 ('acc_username')
    • 感谢您提供更多信息。这是否意味着这个 $errors->has() 部分是指字段名称?但是如果我要访问数据,我仍然会使用 user()->username?
    • 是的,错误将从读取刀片 name= 的验证器中读取 name= 部分。应该是Auth::user()->username,但它仍然可以工作。
    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 2020-03-20
    • 2017-10-23
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    相关资源
    最近更新 更多