Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/12/2016, 05:23
rbczgz
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Validar código de pixel de facebook

Hola de nuevo, como veo que nadie es capaz de echarme una mano con esto, al final lo he resuelto (chapuceramente) de la siguiente forma:

La parte del cliente, en JQuery, con el plugin JQuery Validate:

Código Javascript:
Ver original
  1. $.validator.addMethod("validarPixelFacebook", function(value, element) {
  2.  var p = /^([0-9]{15})$/;
  3.  return (value.match(p)) ? RegExp.$1 : false;
  4. }, "Introduce un código de píxel válido");
  5.  
  6. //Validar el envío del formulario de contacto
  7.     $("#formulario").validate({
  8.  
  9.         //Reglas de validación
  10.         rules: {
  11.             pixel_facebook: { required: true, number: true, minlength: 15, maxlength: 15, validarPixelFacebook: true },
  12.  
  13.         }, //Fin reglas de validación
  14.  
  15. //Mensajes de error
  16.         messages: {
  17.                'pixel_facebook': { required: 'Debes completar el código de tu píxel de Facebook', number: 'El código del píxel de Facebook solo admite números', minlength: 'El código del píxel de Facebook debe tener 15 caracteres numéricos', maxlength: 'El código del píxel de Facebook debe tener 15 caracteres numéricos', validarPixelFacebook: 'El código del píxel de Facebook debe tener 15 caracteres numéricos' }
  18.         }
  19.  
  20.     }); //Fin de la validación del formulario

Y la parte del servidor, de forma muy similar:

Código PHP:
Ver original
  1. function validarFacebook($facebook) {
  2. return ( ! preg_match("/^([0-9]{15})$/", $facebook)) ? FALSE : TRUE;
  3. }
  4.  
  5.    if ( validarFacebook($facebook)==FALSE ) {
  6.        //Muestro mensaje de error
  7.       echo '<h3 style="color: #C00; text-align: center;">El código introducido no es válido.</h3>';
  8.    
  9.    } elseif ( validarFacebook($facebook)==TRUE )    {
  10.    //Proceso las acciones necesarias y muestro mensaje de éxito
  11.    //......
  12. }

Sé que no es la forma más eficiente de hacerlo porque lo mejor sería poder validar que realmente exista, que esté en vigor, etc. no se me ocurren más cosas que validar, pero sé que hay más, pero como no sé cómo hacerlo, aquí dejo este código para quien le pueda servir...