Foros del Web » Programando para Internet » PHP » Zend »

Validar Correos electronicos y campos numericos

Estas en el tema de Validar Correos electronicos y campos numericos en el foro de Zend en Foros del Web. Saludos a Todos. Sucede que tengo un formulario en zend framework, donde tengo varios campos de texto y un boton de submit, los cuales me ...
  #1 (permalink)  
Antiguo 20/10/2011, 13:29
Avatar de danj  
Fecha de Ingreso: octubre-2011
Ubicación: Calarcho
Mensajes: 53
Antigüedad: 13 años, 1 mes
Puntos: 1
Información Validar Correos electronicos y campos numericos

Saludos a Todos.

Sucede que tengo un formulario en zend framework, donde tengo varios campos de texto y un boton de submit, los cuales me almacenan informacion en una base de datos como lo son numeros de identificacion y correos electronicos entre otros, pero sucede que necesito que la aplicacion me valide que cuando valla a ingresar la identificacion, me almacene unicamente numeros, y cuando es un correo electronico lo haga unicamente cuando este posea el signo de arroba, y cumpla con la sintaxis de un correo electronico, por decir algo [email protected]. O si existe la necesidad de utilizar un JS

la verdad me gustaria que me pudieran colaborar.

Saludos.
  #2 (permalink)  
Antiguo 20/10/2011, 13:31
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Validar Correos electronicos y campos numericos

Zend viene con un set de validators te dejo la referencia http://zendframework.com/manual/1.11...idate.set.html y seguro que si googleas un poco encuentras mucha info sobre el tema.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 20/10/2011, 15:34
Avatar de danj  
Fecha de Ingreso: octubre-2011
Ubicación: Calarcho
Mensajes: 53
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Validar Correos electronicos y campos numericos

Gracias, pero al momento de la implementacion no me esta realizando la validacion que debiera hacer. no se si es un error en la forma de implementar el Zend_Validate_Digits.

espero me puedan ayudar.

Saludos.

Código PHP:
Ver original
  1. //Campo de Telefono
  2.          $validador = new Zend_Validate_Digits();
  3.          $validador ->isValid("1234567890");
  4.          $telefono = new Zend_Form_Element_Text('telefono');  
  5.          $telefono->setLabel('Telefono')  
  6.          ->setRequired(true)        
  7.          ->addFilter('StripTags')  
  8.          ->addFilter('StringTrim')  
  9.          ->addValidator('NotEmpty');
  #4 (permalink)  
Antiguo 20/10/2011, 15:39
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Validar Correos electronicos y campos numericos

Es que ahí no lo estas agregando el validator al element, algo así puede servir:

Código PHP:
Ver original
  1. $telefono = new Zend_Form_Element_Text('telefono');  
  2. $telefono->setLabel('Telefono')  
  3.          ->setRequired(true)        
  4.          ->addFilters(array('StripTags', 'StringTrim'))
  5.          ->addValidators(array('NotEmpty', 'Digits'));

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 21/10/2011, 07:48
Avatar de danj  
Fecha de Ingreso: octubre-2011
Ubicación: Calarcho
Mensajes: 53
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Validar Correos electronicos y campos numericos

Gracias, ya valide los campos de telefono y de direccion email, pero los mensajes de advertencia me salen todos en ingles, y me gustaria acomodarlos a español y poder editarlos yo mismo. por ejemplo: esta direccion de email no es valida, o algo por el estilo.

Saludos.
  #6 (permalink)  
Antiguo 21/10/2011, 08:04
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Validar Correos electronicos y campos numericos

Danj te sugiero que te hagas amigo del manual http://framework.zend.com/manual/en/....messages.html

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #7 (permalink)  
Antiguo 21/10/2011, 09:01
Avatar de danj  
Fecha de Ingreso: octubre-2011
Ubicación: Calarcho
Mensajes: 53
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Validar Correos electronicos y campos numericos

Ya encontre la parte donde salen todos los mensajes de validacion, de acuerdo a la que se este usando, por ejemplo para la validacion de email seria esta:

Código PHP:
Ver original
  1. protected $_messageTemplates = array(
  2.         self::INVALID            => "Invalid type given. String expected",
  3.         self::INVALID_FORMAT     => "'%value%' is no valid email address in the basic format local-part@hostname",
  4.         self::INVALID_HOSTNAME   => "'%hostname%' is no valid hostname for email address '%value%'",
  5.         self::INVALID_MX_RECORD  => "'%hostname%' does not appear to have a valid MX record for the email address '%value%'",
  6.         self::INVALID_SEGMENT    => "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network",
  7.         self::DOT_ATOM           => "'%localPart%' can not be matched against dot-atom format",
  8.         self::QUOTED_STRING      => "'%localPart%' can not be matched against quoted-string format",
  9.         self::INVALID_LOCAL_PART => "'%localPart%' is no valid local part for email address '%value%'",
  10.         self::LENGTH_EXCEEDED    => "'%value%' exceeds the allowed length",
  11.     );

Pero sucede que estoes mensajes no se dejan editar, es decir no puedo traducirlos ni modificarlos.

Espero me puedan ayudar.

Saludos.
  #8 (permalink)  
Antiguo 21/10/2011, 09:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Validar Correos electronicos y campos numericos

¿Leiste el link que te dejo @masterpuppet? Ahí tienes toda la información que necesitas para traducir los mensajes de error.
  #9 (permalink)  
Antiguo 21/10/2011, 10:08
Avatar de danj  
Fecha de Ingreso: octubre-2011
Ubicación: Calarcho
Mensajes: 53
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Validar Correos electronicos y campos numericos

Ya los pude traducir, pero de esta forma me toca editarlos individualmente en cada uno de los elementos de texto de acuerdo al tipo de campo que se necesita validar y es de la siguiente manera:

Código PHP:
Ver original
  1. $valemail = new Zend_Validate_EmailAddress();
  2.         $valemail->setMessage("Por favor introduzca un email valido", Zend_Validate_EmailAddress::INVALID_FORMAT);
  3. $correo = new Zend_Form_Element_Text('correo');
  4.         $correo->setLabel('Correo')
  5.         ->setRequired(true)
  6.         ->addFilter('StripTags')
  7.         ->addFilter('StringTrim')
  8.         ->addValidator($valemail);

Pero me gustaria saber como traducir todos los mensajes de validacion, en el tutorial me dice que tengo que llamar una carpeta resources y que ahii se encuentra una carpeta llamada ianguages y que a partir de ahi debo traducirlo a al idioma que yo escoja, pero en mi caso no funciona asi, ya que no encuentro dicha carpeta en el directorio de instalacion de zend.

Espero me puedan ayudar con esto.

Saludos.
  #10 (permalink)  
Antiguo 21/10/2011, 10:11
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Validar Correos electronicos y campos numericos

La carpeta a la que hace referencia el manual se encuentra dentro del full package.
__________________
http://es.phptherightway.com/
thats us riders :)
  #11 (permalink)  
Antiguo 21/10/2011, 10:18
Avatar de danj  
Fecha de Ingreso: octubre-2011
Ubicación: Calarcho
Mensajes: 53
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Validar Correos electronicos y campos numericos

Pienso que ud hace referencia a la instalacion FULL de Zend Framework, y si es asi yo tengo esa instalacion, pero aun asi no encuentro la carpeta llamada languages dentro de resources, no se si tengo o no la razon ya que soy nuevo en el uso de este framework.
Gracias por toda su colaboracion.

Saludos.
  #12 (permalink)  
Antiguo 21/10/2011, 10:24
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Validar Correos electronicos y campos numericos

Como te dije antes, resources/languages esta en el full package, descargalo y la vas ver.
__________________
http://es.phptherightway.com/
thats us riders :)
  #13 (permalink)  
Antiguo 21/10/2011, 12:21
Avatar de danj  
Fecha de Ingreso: octubre-2011
Ubicación: Calarcho
Mensajes: 53
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Validar Correos electronicos y campos numericos

Ya he solucionado un poco de esa parte, pero ahora sucede que el mensaje de validacion para los campos que se encuentran vacios que es setRequired(), me muestra un mensaje de error por defecto el cual es:

Value is required and can't be empty

me gustaria poder pasar tambien este mensaje al español, el codigo es el siguiente:

Código PHP:
Ver original
  1. $cantidad = new Zend_Form_Element_Text('cantidad');
  2.         $cantidad->setLabel('Cantidad')
  3.         ->setRequired(true)
  4.         ->addFilter('StripTags')
  5.         ->addFilter('StringTrim')
  6.         ->addValidator($valnum);

Gracias por toda su colaboracion.

Saludos.

Etiquetas: framework, validar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:56.