Laravel Spark - 向注册表单添加其他字段,但是在空时不返回任何错误

时间:2016-05-13 06:40:15

标签: laravel laravel-5.1 laravel-5.2 vue.js laravel-spark

我正在使用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处理字段并插入它,但只是无法正确显示前端错误。

是否有人能够提供帮助?

2 个答案:

答案 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;
}