Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/11/2012, 12:49
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Jquery validate que devuelve json de lado servidor

Estoy intentado recibir una respuesta json de lado servidor (PHP), siendo que por default jquery validate espera un boolean.

Viendo esto por consola todo parece ir bien. Devuelvo una variable json y dentro el true / false. Pero sin embargo validate siempre me marca error en la validacion remota.

Este es un fragmento del codigo js:

Código Javascript:
Ver original
  1. email: {                  
  2.                 email: true,
  3.                 remote: function() {  
  4.                     var r = {  
  5.                         url: "/account/user/validMail",  
  6.                         type: "POST",  
  7.                         contentType: "application/x-www-form-urlencoded; charset=utf-8",  
  8.                         dataType: "json",  
  9.                         data: {'email': function(){ return j('#mail').val(); }},
  10.                         dataFilter: function(data) { return (JSON.parse(data)).available; }  
  11.                        }  
  12.                    
  13.                     return r;  
  14.                   }              
  15.             }

Y esto es php:
Código PHP:
Ver original
  1. public function validMailAction()
  2.         {
  3.        
  4.             $data['available'] = ClientUser::availableMail($_REQUEST['email']);      
  5.            
  6.             echo json_encode($data);  
  7.         }

Como hago para que el resultado de remote sea el contenido de la variable "available"? Yo esperaría que eso derivara del metodo dataFilter pero no lo veo funcionar.

La referencia de lo que estoy haciendo es esta:
http://stackoverflow.com/questions/2...-to-webservice