1

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

有没有人可以帮助解决这个问题?

4

2 回答 2

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',
        ];
    }
于 2016-05-14T19:25:00.630 回答
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;
}
于 2017-09-22T01:46:11.107 回答