Duda Ajax Validation


(Hiei Zeratul) #1

Buenas,

veo que en modulo propio de Yii "CActiveForm", se puede poner un parámetro de funcionamiento que es AjaxValidation, lo que no tengo claro, es el valida en servidor o el cliente los campos y sin es capaz de hacer validaciones personalizadas creadas en modelo del formulario.

tampoco tengo muy claro como el consigue la comunicación entre cliente y servidor, o sea, como el valida en servidor y luego devuelve los errores para que se muestren en pantalla.


(Ricobregon) #2

Ud mismo se responde la pregunta XD

Hay disponibles dos parámetros en CActiveForm, uno para validación en cliente y otro para validación por AJAX en servidor.

Para ambos casos se puede extender el funcionamiento y agregar/quitar validaciones (Casi siempre prefiero las validaciones en servidor)


(Jramirez) #3

No le has aclarado nada


(Ricobregon) #4

Perdón si fui demasiado genérico, pero si nos fijamos en la pregunta parte de la respuesta está en su pregunta, en fin, … he aquí un link que pueden aclarar un poco más la cuestión del funcionamiento de AJAX (indiferentemente del framework o lenguaje):

http://twiki.org/cgi-bin/view/Blog/BlogEntry201101x2


(Ricobregon) #5

Como dato adicional, AJAX es simplemente una request más hecha al webserver, solo que el navegador la "renderiza" y manipula de forma diferente. De hecho si ud usa Firebug o Chrome podrá ver las URLs de las solicitudes hechas al webserver, el tipo de solicitudes (POST o GET) y el valor de respuesta.

La forma en que se renderiza es indicada por Javascript (de hecho Ajax no sería posible sin Javascript.

Esta imagen podría mostrar genéricamente una solititud/petición por AJAX: http://netdna.webdes…owajaxworks.gif

Acá más información en stackoverflow: http://stackoverflow…-does-ajax-work

Saludos


(Hiei Zeratul) #6

Bueno, el problema que le vi finalmente (después de buscar y buscar), es que solo es en parte útil cuando se usa en campos de texto, cuando es otro tipo de input (radio, check o dropdown) nunca sale, porque el evento solo se dispara si lo pulsas y a no ser que el usuario pulsara 2 veces nunca se usaría esa valuación, yo en un principio pensé que se usaba para cuando pulsaras en un ajax button validara el formulario entero sin tener que recargar la pagina.