Cómo validar y de inserción de datos de múltiples casillas de verificación en laravel register.blade.php?

Ryan: Sacos

He añadido 2 entradas de casilla de verificación en el fichero de register.blade.php. Quiero uno de ellos a ser necesaria, es decir, el usuario debe seleccionar una o la otra, de lo contrario me gustaría mostrar algún tipo de mensaje de error como "Estos campos no pueden estar vacíos". He intentado añadir una matriz llamada ROLE_ID [] en ambos campos de entrada. También he añadido value = "1" en la primera entrada y el valor = "2" en la segunda entrada, porque quiero 1 o 2 para entrar en mi tabla de usuarios en la columna llamada ROLE_ID, porque yo he creado una tabla Roles con 2 registros, 1 es demandante de empleo y 2 es el empleador y, obviamente, hay una relación aquí. Así que, básicamente, si el usuario selecciona la primera entrada que es "Soy un buscador de trabajo", que tiene un valor de 1, 1 entrarán en la columna ROLE_ID en la tabla de usuarios en la base de datos y la misma idea de casilla 2 "

RegisterController.php archivo:

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 archivo:

<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:

Hola usuario del modelo no viene con role_idpor defecto. Debería editar App\User.phpy en protected $fillable, add 'role_id'.

Inténtalo de nuevo. Esta vez el valor de rule_iddebe ser masiva asignado por el modelo de la base de datos.

EDITAR # 1: En el formulario, utilice:

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

Usted no matriz necesidad si sólo el 1 valor debe ser aprobada. Y por cierto, una entrada de radio debe funcionar incluso mejor ya que sólo una entrada puede seleccionarse.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=278450&siteId=1
Recomendado
Clasificación