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

Duda con Zend_Filter_Input

Estas en el tema de Duda con Zend_Filter_Input en el foro de Zend en Foros del Web. Hola. Quiero validar info con Zend_Filter_input pero tengo el problema que uno de los datos no pasa por una validación (NotEmpty). El asunto es que ...
  #1 (permalink)  
Antiguo 12/01/2011, 14:45
 
Fecha de Ingreso: marzo-2006
Mensajes: 47
Antigüedad: 18 años, 1 mes
Puntos: 0
Duda con Zend_Filter_Input

Hola. Quiero validar info con Zend_Filter_input pero tengo el problema que uno de los datos no pasa por una validación (NotEmpty). El asunto es que se que ese dato puede estar vacio y por eso no valido con "NotEmpty" pero aun asi me dice que esta vacio y no puedo continuar....
Dejo un código de ejemplo para que quede mas claro mi duda

Tengo un controller con el siguiente action
Código PHP:
public function indexAction(){
       
$this->_helper->getHelper('layout')->disableLayout();
       
$this->_helper->viewRenderer->setNoRender();
       
$datos = array(
            
'str1' => 'asdsaddsa',
            
'float1' => -31.5,
            
'float2' => -31.5,
            
'str2' => '',
            
'numInt' => 1
       
);
       
$v = array(
            
'float1' => array(new Zend_Validate_Float(array('locale' => 'en')), 'NotEmpty'),
            
'float2' => array(new Zend_Validate_Float(array('locale' => 'en')), 'NotEmpty'),
            
'str1' => array('Alpha''NotEmpty'),
            
'str2' => 'Alpha'
        
);
        
$f = array(
            
'str1' => array('StringTrim''StripTags'),
            
'str2' => array('StringTrim''StripTags')
        );
        
$validate = new Zend_Filter_Input($f$v$datos);
        if(!
$validate->isValid()){
            
Zend_Debug::Dump($validate->getErrors());
        }else{
            echo 
'bien';
        }
    } 
Cuando lo ejecuto me devuelve:
Código PHP:
array(1) {
  [
"str2"] => array(1) {
    [
0] => string(7"isEmpty"
  
}

Es la primera vez que uso Zend_Filter_Input y no se si estoy haciendo algo mal.
Desde ya muchas gracias
  #2 (permalink)  
Antiguo 12/01/2011, 16:34
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Duda con Zend_Filter_Input

Deberías agregarle allowEmpty a str2, algo asi:

Código PHP:
Ver original
  1. ...
  2. $v = array(
  3.    'float1' => array(new Zend_Validate_Float(array('locale' => 'en')), 'NotEmpty'),
  4.    'float2' => array(new Zend_Validate_Float(array('locale' => 'en')), 'NotEmpty'),
  5.    'str1' => array('Alpha', 'NotEmpty'),
  6.    'str2' => array('Alpha', 'allowEmpty' => true)
  7. );
  8. ...

Saludos.
  #3 (permalink)  
Antiguo 12/01/2011, 17:37
 
Fecha de Ingreso: marzo-2006
Mensajes: 47
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Duda con Zend_Filter_Input

Efectivamente era eso.... no sabia que existia el 'allowEmpty'. No recuerdo haberlo leido en la documentación.

Muchas gracias
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 03:14.