Laravel - validar por nombre y apellidos unique

 
Vista:

validar por nombre y apellidos unique

Publicado por Roberto (2 intervenciones) el 23/03/2020 01:37:36
Hola.
Estoy intentando validar un formulario por nombre y apellidos.
El nombre y apellidos tiene que ser unico no debe poder repetirse. Lo estoy intentando hacer de esta manera pero no me hace ni caso. En la bd no he contemplado que sean los 2 a la vez unicos y por eso lo necesito hacer en las rules.
Necesito que al teclear en el formulario un nombre y unos apellidos si estos ya existen que me dé error y no me deje seguir y me muestre el error.
El modelo se llama Tutores

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public function rules()
{
    return [
        [['telefono'], 'integer'],
        [['nombre','lista_tutores'], 'string', 'max' => 100],
        [['apellidos'], 'string', 'max' => 200],
        [['dni'],'string', 'max' => 10],
        [['observaciones'],'string'],
        [['apellidos','nombre'], 'required', 'when' => function($model) {
            return !empty($model->apellidos);
        }],
    ];
    return [
 
        ['apellidos', 'validarTutor']
    ];
}
 
 
public function validateTutor($attribute,$params)
{
 
    if(Tutores::model()->exists('nombre=:nombre AND apellidos=:apellidos',array(
 
        ':nombre'=>$this->nombre,
 
        ':apellidos'=>$this->apellidos
 
    )))
 
    $this->addError($attribute,"El nombre y apellidos ya existe");
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder