我正在使用Laravel 5.2&amp ;;构建我的第一个应用程序Laravel Spark。前端是使用Vue.js
构建的,我相信并尽管在register-common-form.blade.php
中添加了以下内容:
<!-- Username -->
<div class="form-group" :class="{'has-error': registerForm.errors.has('username')}">
<label class="col-md-4 control-label">Username</label>
<div class="col-md-6">
<input type="name" class="form-control" name="username" v-model="registerForm.username" autofocus>
<span class="help-block" v-show="registerForm.errors.has('username')">
@{{ registerForm.errors.get('username') }}
</span>
</div>
</div>
我实际上看不到一种完全注册该额外字段的方法,以便将其用于错误处理。我已经得到它,以便UserRepository
处理字段并插入它,但只是无法正确显示前端错误。
是否有人能够提供帮助?
答案 0 :(得分:0)
好吧,我终于偶然发现了它:D
在Laravel\Spark\Interactions\Auth\CreateUser.php
中有一个$rules
方法,如下所示:
public function rules($request)
{
return [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
'vat_id' => 'max:50|vat_id',
'terms' => 'required|accepted',
];
}
我所做的就是添加我的用户名字段,它的工作非常出色!
public function rules($request)
{
return [
'name' => 'required|max:255',
'username' => 'required|unique:users',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
'vat_id' => 'max:50|vat_id',
'terms' => 'required|accepted',
];
}
答案 1 :(得分:0)
以上答案仅适用于验证规则,您还需要导航至spark\src\Repositories\UserRepository.php
并将'username' => $data['username'],
添加到create()
方法,如下所示:
public function create(array $data)
{
$user = Spark::user();
$user->forceFill([
'name' => $data['name'],
'username' => $data['username'], // ADDED THIS
'email' => $data['email'],
'password' => bcrypt($data['password']),
'confirmation_code' => str_random(30),
'last_read_announcements_at' => Carbon::now(),
'trial_ends_at' => Carbon::now()->addDays(Spark::trialDays()),
])->save();
return $user;
}