Crear 2 versiones del formulario de registro de usuario

Veran, tengo una tabla User, con estas variables:

    Schema::create('users', function(Blueprint $table){
        $table->increments('id');
        $table->string('name');
        $table->string('second_name')->default('usuario');
        $table->string('telefono')->default(123456789);
        $table->date('fecha_nacimiento')->default('1990-01-01');
        $table->unsignedInteger('ocupacion_id'); // Foranea de la tabla Ocupacion.
        $table->foreign('ocupacion_id')->references('id')->on('ocupacions');
        $table->string('dni')->default('12345678x');
        $table->boolean('sexo')->default(false); // 0: Hombre || 1: Mujer
        $table->boolean('vehiculo')->default(false);
        $table->string('foto')->default('anonimo.jpg');
        $table->boolean('activado')->default(false);
        $table->string('email')->unique();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });

Esta es la vista con el registro:

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card">
                <div class="card-header"><h1>Registrarse</h1></div>

                <div class="card-body">
                    <form method="POST" action="{{ route('register') }}" novalidate>
                        @csrf

                        <div class="form-group row">
                            <label for="name" class="col-md-4 col-form-label text-md-right">Nombre</label>

                            <div class="col-md-6">
                                <input id="name" type="text" class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}" name="name" value="{{ old('name') }}" placeholder="ej: Marco" required autofocus>

                                @if ($errors->has('name'))
                                    <span class="invalid-feedback">
                                        <strong>{{ $errors->first('name') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group row">
                            <label for="second_name" class="col-md-4 col-form-label text-md-right">Apellidos</label>

                            <div class="col-md-6">
                                <input id="second_name" type="text" class="form-control{{ $errors->has('second_name') ? ' is-invalid' : '' }}" name="second_name" value="{{ old('second_name') }}" placeholder="ej: Paván" required autofocus>

                                @if ($errors->has('second_name'))
                                    <span class="invalid-feedback">
                                        <strong>{{ $errors->first('second_name') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group row">
                            <label for="ocupacion" class="col-md-4 col-form-label text-md-right">Ocupación</label>

                            <?php
                                $ocu=App\Ocupacion::where('id','!=',1)->where('id','!=',6)->get();
                            ?>

                            <div class="col-md-6">
                                <select id="ocupacion" class="form-control{{ $errors->has('ocupacion') ? ' is-invalid' : '' }}" name="ocupacion" required>
                                    @foreach($ocu as $o)
                                        <option value={{$o->id}} {{old('ocupacion')==$o->id ? 'selected' : ''}}>{{$o->nombre}}</option>
                                    @endforeach
                                </select>

                                @if ($errors->has('ocupacion'))
                                    <span class="invalid-feedback">
                                        <strong>{{ $errors->first('ocupacion') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group row">
                            <label for="telefono" class="col-md-4 col-form-label text-md-right">Telefono</label>

                            <div class="col-md-6">
                                <input id="telefono" type="number" class="form-control{{ $errors->has('telefono') ? ' is-invalid' : '' }}" name="telefono" value="{{ old('telefono') }}" required autofocus>

                                @if ($errors->has('telefono'))
                                    <span class="invalid-feedback">
                                        <strong>{{ $errors->first('telefono') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group row">
                            <label for="fecha_nacimiento" class="col-md-4 col-form-label text-md-right">Fecha de nacimiento</label>

                            <div class="col-md-6">
                                <input id="fecha_nacimiento" type="date" class="form-control{{ $errors->has('fecha_nacimiento') ? ' is-invalid' : '' }}" name="fecha_nacimiento" value="{{ old('fecha_nacimiento') }}" required autofocus>

                                @if ($errors->has('fecha_nacimiento'))
                                    <span class="invalid-feedback">
                                        <strong>{{ $errors->first('fecha_nacimiento') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group row">
                            <label for="dni" class="col-md-4 col-form-label text-md-right">DNI</label>

                            <div class="col-md-6">
                                <input id="dni" type="text" class="form-control{{ $errors->has('dni') ? ' is-invalid' : '' }}" name="dni" value="{{ old('dni') }}" placeholder="ej: 12345678x" required autofocus>

                                @if($errors->has('dni'))
                                    <span class="invalid-feedback">
                                        <strong>{{ $errors->first('dni') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group row">
                            <label for="sexo" class="col-md-6 col-form-label text-md-right">¿Cuál es su sexo?</label>
                            Hombre<input type="radio" name="sexo" value=0 checked />
                            Mujer<input type="radio" name="sexo" value=1  />
                        </div>

                        <div class="form-group row">
                            <label for="vehiculo" class="col-md-6 col-form-label text-md-right">¿Tiene usted algún vehículo?</label>
                            Si<input type="radio" name="vehiculo" value=1/>
                            No<input type="radio" name="vehiculo" value=0 checked/>
                        </div>

                        <div class="form-group row">
                            <label for="email" class="col-md-4 col-form-label text-md-right">Correo Electronico</label>

                            <div class="col-md-6">
                                <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" placeholder="ej: sanchezquesano82@mail.com" required>

                                @if($errors->has('email'))
                                    <span class="invalid-feedback">
                                        <strong>{{ $errors->first('email') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group row">
                            <label for="password" class="col-md-4 col-form-label text-md-right">Contraseña</label>

                            <div class="col-md-6">
                                <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>

                                @if ($errors->has('password'))
                                    <span class="invalid-feedback">
                                        <strong>{{ $errors->first('password') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group row">
                            <label for="password-confirm" class="col-md-4 col-form-label text-md-right">Confirmar Contraseña</label>

                            <div class="col-md-6">
                                <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required>
                            </div>
                        </div>

                        <div class="form-group row mb-0">
                            <div class="col-md-6 offset-md-4">
                                <button type="submit" class="btn btn-primary">
                                    Registrarse
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

La historia es que quiero que haya 2 tipos de formulario, uno para empleados normales y otro para lectores, a los que unicamente se les pedira nombre, email y contraseña. Y aqui esta mi problema, pues tengo acceso a la vista, pero no a la ruta de web.php, ya que forma parte de los Auth::routes(); . Mi idea es que tengo lo siguiente:

<li class="nav-item dropdown">
    <a id="navbarDropdown"
        class="nav-link dropdown-toggle"
        href="#" role="button"
        data-toggle="dropdown"
        aria-haspopup="true"
        aria-expanded="false"
    >Registrarme<span class="caret"></span>
    </a>
    <div class="dropdown-menu" aria-labelledby="navbarDropdown">
        <a class="dropdown-item" href="{{ url('/register') }}">
            Registrarme como Lector
        </a>

        <a class="dropdown-item" href="{{ url('/register') }}">
            Registrarme como Empleado
        </a>
    </div>
</li>

Si pudiese acceder a la ruta, cambiaria las direcciones a ‘/register/1’ y ‘/register/0’, añadiendo así una variable con la cual le añadiria un “if” a la vista con la que de ser un lector omitiria las variables no deseadas. ¿Donde accedo a eso?

StackOverflow exists for that :slight_smile:


We can’t with help with coding issues