Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/04/2011, 18:25
CyberMauher
 
Fecha de Ingreso: febrero-2010
Mensajes: 183
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: No Funciona Filtro StringToLower

Tenés razón, dejo el método completo:
Código PHP:
    public function indexAction()
    {
        
$usuario = new Zend_Session_Namespace('usuario');
        
$view $this->view;
        
        
$form = new Zend_Form;
        
$form
            
->setAction($view->baseUrl.'/usuario/index')
            ->
setMethod('post');
        
$form->addElement('text''email', array(
            
'Label' => 'E-Mail',
            
'Description' => 'El cambio de E-Mail no se completará hasta que se usted confirme la validación del mismo, ésta le llegará automáticamente al nuevo E-Mail.',
            
'Validators' => array(
                
'EmailAddress'
            
),
            
'Required' => false,
            
'Filters' => array(
                
'StringToLower'
            
)
        ));
        
$callback create_function('$arg''return ltrim($arg, "0");');
        
$filter = new Zend_Filter_Callback($callback);
        
$form->addElement('text''phone', array(
            
'Label' => 'Teléfono',
            
'Description' => 'El teléfono debe contener código de área sin anteponer 0, ni 15 para celulares.',
            
'Validators' => array(
                
'Digits',
                array(
'StringLength'false, array(1012))
            ),
            
'Required' => false,
            
'Filters' => array(
                
$filter
            
)
        ));
    
        
$form->clearDecorators()
            ->
setElementFilters(array('StringTrim'))
            ->
addDecorator('FormElements')
            ->
addDecorator('Form')
            ->
setElementDecorators(
                array(
                    array(
'Description', array('tag' => 'p')),
                    array(
'Errors'),
                    array(array(
'HtmlTag_2' => 'HtmlTag'), array('tag' => 'div''class' => 'qtip-html hidden')),
                    array(
'Label'),
                    array(array(
'HtmlTag_3' => 'HtmlTag'), array('tag' => 'div''style' => 'width:50%; float:left; text-align:right; margin-right:5px')),
                    array(
'ViewHelper'),
                    array(
'HtmlTag', array('tag' => 'div''class' => 'qtip''style' => 'width:50%; float:left;'))
                ),
                array(
                    
'submit'
                
),
                
false
            
);
        
        if (isset(
$_POST['submit'])) {
            if (
$form->isValid($_POST)) {
                
$values $form->getValues();
                
$usuario->unlock();
                            
                
// E-Mail
                
if (!empty($values['email'])) {
                    
$update['email'] = $values['email'];
                    
$usuario->email $values['email'];
                }
                if (!empty(
$values['phone'])) {
                    
$update['telefono'] = $values['phone'];
                    
$usuario->telefono $values['phone'];
                }
                
// Almacenar datos
                
if (count($update)) {
                    
$this->db->update('usuariosprimarios'$update"id = $usuario->usuarioprimario_id");
                    
$bool true;
                }
                if (
$bool) {
                    
$form->reset();
                    
$view->infoMessenger[] = 'Éxito al guardar.';
                }
                
$usuario->lock();
            } else 
$view->alertMessenger[] = 'Fallo al guardar, verifique los datos ingresados.';
        }
        
$view->usuario $usuario;
        
$view->form $form;
    } 
__________________
Le estaré agradecido por los siglos de los siglos a mi dios en PHP masterpuppet. Amen!