どのように検証し、register.blade.php laravel内の複数のチェックボックスのデータ挿入するには?

ライアン・サックス:

私はregister.blade.phpファイルに2つのチェックボックスの入力を追加しました。私は、そうでない場合、私は、「これらのフィールドは空にすることはできません」のようなエラーメッセージのいくつかの種類を表示したいのですが、どちらか一方を選択する必要があり、ユーザ、すなわち、そのうちの一つが必要になることにしたいです。私は両方の入力フィールドにROLE_IDと呼ばれる配列[]追加しようとしました。私はロール表を作成しましたので、ROLE_IDという列に私のユーザーテーブルに行くために1または2のいずれか欲しいので、私はまた、第二の入力に最初に入力し、値上の値=「1」=「2」を追加しました2つのレコードで、1は求職者と2である雇用者であると明らかにここに関係があります。ユーザーが1の値を持っている「私は求職者よ」である第一の入力を選択したのであれば基本的には、1が "チェックボックス2のために、データベース内のユーザーテーブルでROLE_ID列と同じ考え方になります

RegisterController.phpファイル:

protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => ['required', 'string', 'max:255'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
            'password' => ['required', 'string', 'min:8', 'confirmed'],
            'role_id' => ['required'],
        ]);
    }

    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
            'role_id' => $data['role_id'],
        ]);
    }

register.blade.phpファイル:

<div class="form-group row">
                                    <div class="col-md-8 offset-md-2 text-md-right">
                                        <div class="form-check form-check-inline">
                                            <input class="form-check-input" type="checkbox" name="role_id[]" id="job-seeker" value="1">
                                            <label class="form-check-label" for="job-seeker">I'm a Job Seeker</label>
                                        </div>
                                        <div class="form-check form-check-inline">
                                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                            <input class="form-check-input" type="checkbox" name="role_id[]" id="employer" value="2">
                                            <label class="form-check-label" for="employer">I'm an Employer</label>
                                        </div>
                                    </div>
                                </div>
hmrneves:

こんにちはユーザーモデルが付属していませんrole_idデフォルトで。あなたは編集する必要がありますApp\User.phpし、上protected $fillable、追加します'role_id'

再試行。この時間の値はrule_id質量データベースへのモデルによって割り当てられるべきです。

EDIT#1:形態においては、以下を使用します。

<input class="form-check-input" type="checkbox" name="role_id" value="1">
<input class="form-check-input" type="checkbox" name="role_id" value="2">

唯一の1つの値が渡されるべき場合は、必要性の配列をいけません。そしてところで、RADIO入力は一つだけ入力を選択することができ、より良いので、動作するはずです。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=278447&siteId=1