我最近启动了Laravel,并开始了有关它的教程。我使用Virtualbox在Windows 10上安装了我的宅基盒(必须做一些modifications才能运行),现在我正在为laravel使用它。我要遵循的教程是this one,我能够使用新命令(composer require laravel/ui
和php artisan ui:auth
)安装auth模块。我按照与添加用户名完全相同的步骤进行操作,但出现419错误。我没有编辑有关会议的任何内容,因此谷歌搜索没有太大帮助。如果需要,我可以链接一些文件。
app / Http / Controllers / Auth / RegisterController.php中的更改:
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'username' => ['required', 'string', 'max:255', 'unique:users'], #added this line
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'username' => $data['username'], #added this line
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
}
app / User.php中的更改:
protected $fillable = [
'name','username', 'email', 'password', #added username
];
数据库/迁移/create_users_table.php中的更改:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->string('username')->unique(); #added this line
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
resources / views / auth / register.blade.php中的更改:
# added this whole div
<div class="form-group row">
<label for="username" class="col-md-4 col-form-label text-md-right">{{ __('Username') }}</label>
<div class="col-md-6">
<input id="username" type="text" class="form-control @error('username') is-invalid @enderror" name="username" value="{{ old('username') }}" required autocomplete="username" autofocus>
@error('username')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>