Laravel 5.8 como usar value=”{{old(‘sexo’)}}” en type=radio

publicado por: Anonymous

Buenas mi duda es que no puedo usar el campo value=”{{old(‘sexo’)}}” ya que el value en el radio debe ser igual a el dato que mandó a la BD, como puedo dejar la opción seleccionada para este campo cuando se cometen errores al llenar el formulario.

la tabla esta definida asi

 public function up() {
    Schema::create('estudiantes', function (Blueprint $table) {
        $table->string('idEstudiante',20)->primary();
        $table->string('apellido1', 40);
        $table->string('apellido2', 40);
        $table->string('nombre1', 40);
        $table->string('nombre2', 40)->nullable();
        $table->date('fechaNac');
        $table->enum('sexo', ['masculino', 'femenino'])->default('masculino');
        $table->string('direccion', 80);
        $table->string('telefono', 16);
        $table->string('email', 80);
        $table->year('añoIngreso');
        $table->timestamps();
    });
}

El Request
introducir la descripción de la imagen aquí

El controlador

 public function create() {

        return view('BaseDatos/estudiantes.create');

}

/**
 * Store a newly created resource in storage.
 *
 * @param  IlluminateHttpRequest  $request
 * @return IlluminateHttpResponse
 */
public function store(StoreRequest $request) 
{


    Estudiante::create($request->all());

    Flash('Estudiante creado correctamente!') ;
    return redirect()->route('estudiantes.index');


}

La vista create el form esta asi

<div class="col-xs-5 col-sm-5 col-md-5">
                            <div class="form-group">
                                <Strong>Sexo</Strong>
                                <label class="radio-inline">
                                    <input type="radio" name="sexo"  value="masculino"{{ (old('sexo') == "masculino") ?? "femenino"  }}>Masculino</label>
                                <br>
                                <label class="radio-inline">
                                    <input type="radio" name="sexo"  value="femenino">Femenino</label>
                            </div>
                        </div> 

al usar

 <label class="radio-inline">
                                    <input type="radio" name="sexo"  value="masculino"{{ (old('sexo') == "masculino") ?? "femenino"  }}>Masculino</label>

sigue sin dejar el campo seleccionado

solución

si le das inspeccionar elemento sobre el input radio button despues de ejecutar el submit, y te devuelve errores, es probable que veras en la propiedad value lo siguiente masculinomasculino.

Intenta con el siguiente codigo que pondra la propiedad checked en tu radio button:

<input type="radio" name="sexo" value="masculino" {{ (old('sexo') == "masculino") ? "checked" : "" >Masculino</label>

Espero te sirva.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *