Restrincción en modelo utilizando Jquery en el modelo.
Restrincción en modelo utilizando Jquery en el modelo.
Imaginemos que deseas hacer una condición donde si un usuario elige alguna opción de un modelo un campo se vuelva obligatorio otro campo, todo esto haciendolo desde el modelo.
Para realizar esto debe entrar en el modelo al que desea aplicar la condición y agregar la siguiente en los rules.
Ejemplo:
En el siguiente ejemplo tenemos un campo llamado 'solucion' el cual se volvera obligatorio si otro campo del mismo modelo llamado 'ticket_estatus_id' es igual a 5 el cual es un valor de un ID de una llave foranea.
public function rules()
{
return [
...
..
[['solucion'], 'required',
'when' => function($model){
return $model->ticket_estatus_id == 5;
}
,'whenClient' => "function (attribute, value) {
console.log('estatus desde modelo:'+$('#ticket-ticket_estatus_id').val());
var res = $('#ticket-ticket_estatus_id').val() == '5'
console.log(res);
return res;
}"
],
......
.....
];
}
Observe que donde dice 'whenClient' se ejecuta una función de Jquery donde dentro de la vista del formulario obtiene el valor de un select, el ejemplo muestra la impresión con un 'console.log()' para demostrar que funciona en el momento que se intenta guardar.
Gracias por dejar tus comentarios. No creo contestar todos sus pregúntas en seguida asi que si deseas alguna consultoria urgente puedes buscarme en redes sociales.
Comentarios
Publicar un comentario