Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/05/2020, 09:23
negro1985
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Pregunta Validación unique

Buenos días, tengo problemas para validar un campo cuando se desea editar, ya que cuando se edita el registro, el campo X que tiene que se único no me deja guardar el formulario, ya que precisamente me marca el error que usuario ya existe. Dejo el código, gracias por su ayuda.


formulario.blade.php
Código:
<form method="post" action="{{ (isset($registro)) ? url("/admin/permisos/usuarios/update/$registro->id") : url("/admin/permisos/usuarios/store") }}" accept-charset="UTF-8">
                {{ csrf_field() }}
                @if(isset($registro)) <input name="_method" type="hidden" value="PUT"> @endif
                <div class="col-md-4">
                    <div class="form-group{{ $errors->has('usuario') ? ' has-error' : '' }}">
                        <label for="usuario">Usuario</label>
                        <input class="form-control" placeholder="Usuario" maxlength="100" name="usuario" type="text" id="usuario" value="{{ old('usuario', $registro->usuario ?? '') }}">
                        @if ($errors->has('usuario'))
                            <span class="help-block">
                                <strong>{{ $errors->first('usuario') }}</strong>
                            </span>
                        @endif
                    </div>
                </div>
                <div class="col-md-4">
                    <div class="form-group{{ $errors->has('nombre') ? ' has-error' : '' }}">
                        <label for="nombre">Nombre</label>
                        <input class="form-control" placeholder="Nombre" maxlength="100" name="nombre" type="text" id="nombre" value="{{ old('nombre', $registro->nombre ?? '') }}">
                        @if ($errors->has('nombre'))
                            <span class="help-block">
                                <strong>{{ $errors->first('nombre') }}</strong>
                            </span>
                        @endif
                    </div>
                </div>
                <div class="col-md-12">
                    <div class="form-group">
                        <input class="btn btn-primary" type="submit" value="Guardar">
                        <a href="{{ url('/admin/permisos/usuarios') }}" class="btn btn-warning">Cancelar</a>
                    </div>
                </div>
            </form>

UsuariosController.php
Código:
namespace App\Http\Controllers\Admin\Permisos;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

use App\Http\Requests\Admin\Permisos\UsuarioRequest;
use App\Repositories\Admin\Permisos\UsuarioRepository;
use App\Repositories\Admin\Permisos\RolRepository;

class UsuariosController extends Controller
{
    protected $usuario;
    protected $rol;

    public function __construct(UsuarioRepository $usuario, RolRepository $rol)
    {
        $this->usuario = $usuario;
        $this->rol = $rol;
    }

    public function update(UsuarioRequest $request, $id)
    {
        $update = $this->usuario->update($request, $id);

        return redirect()->route('usuarios.index');
    }

    public function destroy($id)
    {
        $delete = $this->user->destroy($id);

        return redirect()->route('usuarios.index');
    }
}

UsuarioRequest.php
Código:
namespace App\Http\Requests\Admin\Permisos;

use App\Http\Requests\Request;

use Illuminate\Foundation\Http\FormRequest;

class UsuarioRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
            return [
                'usuario' => 'required|max:50|unique:users,usuario,' . $this->route('id'),
                'nombre' => 'required|max:50'
            ];
    }
}
Alguien por favor que me ayude y me diga en que estoy mal