Anuncio

Entra a participar en el Slack de Laraveles. Solicita tu invitación aquí.
Nos ayuda a manter la comunidad

#1 13/09/2018 17:58:34

dgalazb
Miembro
Registrado: 13/09/2018
Mensajes: 1

Editar Formulario y validaciones

Buenas tardes, tengo un pequeño problema en laravel 5.6

Lo que pasa que al momento de modificar otros datos del formulario (exceptuando el nombre de proyecto)
y presiono "editar proyecto", me aparece el error "nombre de proyecto ya existe" sin haber modificado el nombre, solo quiero modificar otros input pero al momento de presionar el boton me aparece el error.

alguna solucion a esto ? se los agradeceria de antemano

adjunto metodo

public function update(Request $request)
    {
        $this->validate($request, [
            'nombre' => 'required|max:250|unique:proyectos,nombre',
            'descripcion' => 'required|max:250',
            'estado_proyecto_id' => 'required',
            'tamano_proyecto_id' => 'required',
            'complejidad_proyecto_id' => 'required',
        ],[
            'nombre.required' => 'El campo nombre es obligatorio.',
            'nombre.max' => 'Se deben ingresar 250 caracteres como máximo.',
            'nombre.unique' => 'Proyecto ya existe.',
            'descripcion.max' => 'Se deben ingresar 250 caracteres como máximo.',
            'descripcion.required' => 'El campo descripcion general es obligatorio.',
            'estado_proyecto_id.required' => 'Se debe seleccionar un estado de proyecto.',
            'tamano_proyecto_id.required' => 'Se debe seleccionar un tamaño de proyecto.',
            'complejidad_proyecto_id.required' => 'Se debe seleccionar una complejidad de proyecto.',
        ]);
       
        try {
            $proyecto_id = Crypt::decrypt($request->idProyecto);
            $modulo_id = Modulo::getByNombre('Inspección de código')->id;
            $estado_proyecto_id = Crypt::decrypt($request->estado_proyecto_id);
            $tamano_proyecto_id = Crypt::decrypt($request->tamano_proyecto_id);
            $complejidad_proyecto_id = Crypt::decrypt($request->complejidad_proyecto_id);
        } catch (DecryptException  $e) {
            abort(404);
        }
        $proyecto = Proyecto::find($proyecto_id);
        if(!$proyecto){
            abort(404);
        }
        $empresa_id = Auth::user()->empresa->id;
    //    if(Proyecto::existsInEmpresa($request->nombre,$empresa_id)){
       //     return redirect()->back()->with('error','Ya existe un proyecto con este nombre.');
           
       // }
       
        $proyecto->nombre=$request->nombre;
        $proyecto->descripcion=$request->descripcion;
        $proyecto->estado_proyecto_id=$estado_proyecto_id;
        $proyecto->tamano_proyecto_id=$tamano_proyecto_id;
        $proyecto->complejidad_proyecto_id=$complejidad_proyecto_id;
        $proyecto->save();
       
        return redirect()->back()->with('success','Proyecto actualizado exitosamente');
       
    }

Espero respuesta, gracias.

Desconectado

#2 14/09/2018 02:14:23

baldaweb
Sloth: "QUIERO CHOCOLAAAATEEEE"
Localidad: Barco pirata
Registrado: 19/12/2014
Mensajes: 218
Sitio web

Re: Editar Formulario y validaciones

Es que el nombre ya existe, si lo editas te dice que el nombre ya existe que es normal. Debes hacer lo siguiente:

En mi caso para el modelo cliente, pongo el id.

unique:clientes,nif,'.$cliente->id;

CHOOOO COOOO LAAAA TEEEEE

Desconectado

Pié de página <- REVISAR ->

Powered by FluxBB

Ayuda a mantener la comunidad: