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
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


0