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

eliminar espacios formulario Zend

Estas en el tema de eliminar espacios formulario Zend en el foro de Zend en Foros del Web. Hola a todos! estoy haciendo primeros pasos con Zend, si alguen me podria auydar, por favor. como podria eliminar espacios dentro de una cadena o ...
  #1 (permalink)  
Antiguo 30/07/2010, 06:27
 
Fecha de Ingreso: enero-2010
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
eliminar espacios formulario Zend

Hola a todos!

estoy haciendo primeros pasos con Zend, si alguen me podria auydar, por favor.
como podria eliminar espacios dentro de una cadena o mejor dicho ajustar a uno en campo texto de nombre de formulario.
ya esta limpia en principio y al final.

Código PHP:
$user_name = new Zend_Form_Element_Text('nombre');
        
$user_name->setLabel('Name')
                ->
setRequired(true)
                ->
addValidator('NotEmpty'true)
                ->
addFilter('StripTags')
                ->
addFilter('StringTrim')
                ->
setAttrib('size'25)
                ->
setAttrib('maxlength'255)
                ->
setOptions(array('class'=>'text'))                
                ; 
pero cuando agregas el nombre:
Jose _ _ _ _ _ _ _ _ _ Luis
con más de un espacio en blanco se lo coma.(he puesto _ _ _ en lugar de espacio porque aqui se que lo limpia bien)
Hay manera de arreglarlo.¿? ajustar a uno
Gracias.
  #2 (permalink)  
Antiguo 30/07/2010, 08:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: eliminar espacios formulario Zend

Tendrías que agregar un validador Regex, y hacer una expresión regular para eliminar el exceso de espacios.

Saludos!
  #3 (permalink)  
Antiguo 30/07/2010, 10:42
 
Fecha de Ingreso: enero-2010
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: eliminar espacios formulario Zend

Cita:
Iniciado por GatorV Ver Mensaje
Tendrías que agregar un validador Regex, y hacer una expresión regular para eliminar el exceso de espacios.

Saludos!
Aqui donde lo tengo dudas en expresión. Como es, por favor¿?
  #4 (permalink)  
Antiguo 30/07/2010, 11:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: eliminar espacios formulario Zend

Te recomiendo ver lo siguiente: http://www.forosdelweb.com/f18/aport...s-pcre-646110/

Saludos.
  #5 (permalink)  
Antiguo 30/07/2010, 12:10
 
Fecha de Ingreso: enero-2010
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: eliminar espacios formulario Zend

Cita:
Iniciado por GatorV Ver Mensaje
Te recomiendo ver lo siguiente: [url]http://www.forosdelweb.com/f18/aporte-expresiones-pcre-646110/[/url]

Saludos.
He probado algo asi, pero no estoy seguro

Código PHP:
->addValidator('regex'false, array('/^\s/')) 
claro qu eno va.
  #6 (permalink)  
Antiguo 30/07/2010, 14:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: eliminar espacios formulario Zend

Te recomiendo bajar un programa que se llama RegexBudy, sirve para probar tus expresiones regulares.

Saludos.
  #7 (permalink)  
Antiguo 31/07/2010, 04:12
 
Fecha de Ingreso: enero-2010
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: eliminar espacios formulario Zend

gracias, muy interesante!!!
  #8 (permalink)  
Antiguo 01/08/2010, 22:49
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: eliminar espacios formulario Zend

... Ojo que un validator (validación) no es lo mismo que un filter (filtro). Tal como lo intentas hacer ahora --si funcionase-- produciría un error en el formulario y mostraría el mismo valor para ser corregido. Para este caso, creo yo, es mejor emplear un filtro directamente, eliminando los dobles --o más-- espacios directamente.

Prueba con algo como:
Código PHP:
Ver original
  1. $elemento = new Zend_Form_Element_Text('name');
  2. $elemento->addFilter('PregReplace', array(
  3.         'match'   => '/\s\s+/',
  4.         'replace' => ' '
  5.     ));

... código sin probar, ojalá funcione a la primera.
__________________
I ♥ The Music!
  #9 (permalink)  
Antiguo 02/08/2010, 08:39
 
Fecha de Ingreso: enero-2010
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: eliminar espacios formulario Zend

Muchisimo gracias si que funcina!!!
Lo he quedado asi:
Cita:
$user_name = new Zend_Form_Element_Text('nombre');
$user_name->setLabel('Name')
->setRequired(true)
->addValidator('NotEmpty', true)
//->addValidator('Alnum')
->addFilter('PregReplace',array(
'match' => '/\s\s+/',
'replace' => ' '
))
->addFilter('StripTags')
->addFilter('StringTrim')
->setAttrib('size', 25)
->setAttrib('maxlength', 255)
->setOptions(array('class'=>'text'))
;


una cosa más, porfavor, si tengo bien entendido:

Cita:
->addValidator('Alnum')
esto lo obliga ser input con numeros y letras, si¿?

Por si acaso si tienes una direccion de un bien tuto de Login usuarios con comprobacion si esta en la DDBB de Zend.

Gracias.
Saludos.
  #10 (permalink)  
Antiguo 02/08/2010, 09:21
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: eliminar espacios formulario Zend

Cita:
Iniciado por webemperie Ver Mensaje
esto lo obliga ser input con numeros y letras, si¿?
Así es. ¿Pero realmente esa era tu pregunta?, porque es una pregunta con respuesta implícita.

Adelantándome (interpretando), veo que haz intentado adjuntar esa validación a donde ahora eliminas dobles espacios; resulta que un espacio no es ni una letra ni un número, por eso ahora lo tendrás comentado (rompe la validación).

Ese validador, como otros, aceptan un parámetro en su constructor para permitir los espacios en blanco, con ello tendrías el comportamiento que quizá deseas.

Código PHP:
Ver original
  1. // No estoy seguro si, con la sintaxis que estás utilizando, sería:
  2. ->addValidator('Alnum', true);
  3.  
  4. // o
  5. ->addValidator('Alnum', array(true));
  6.  
  7. // Quizá y hasta ambos ...
__________________
I ♥ The Music!
  #11 (permalink)  
Antiguo 02/08/2010, 09:25
 
Fecha de Ingreso: enero-2010
Mensajes: 11
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: eliminar espacios formulario Zend

Ya tengo comentado en el codico, solo estoy probando todo y si esa era la pregunta gracias.
Saludos

Etiquetas: zend_form_element_text
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




La zona horaria es GMT -6. Ahora son las 00:47.