Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Validación unique

Estas en el tema de Validación unique en el foro de Frameworks y PHP orientado a objetos en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/05/2020, 09:23
 
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

Etiquetas: formulario, request, unique
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:48.