• Willkommen im Zend Framework Forum

    ZF1 Zend Framework 1 + ZF2 Zend Framework 2

    Das Zend Framework Forum ist seit 2006 die erste Anlaufstelle für Zend Framework Entwickler in Deutschland. Mit über 70.000 Beiträgen und einer steigenden Nutzerzahl bietet das Forum hilfreiche Themen und ZF-Tutorials für professionelle Entwickler, fortgeschrittene Programmierer sowie Zend Framework Einsteiger.
    Wenn dies Dein erster Besuch in der Zend Framework Community ist, lies bitte zuerst die Hilfe - FAQ durch. Du musst Dich registrieren, bevor Du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um die Registrierung zu starten. Du kannst auch jetzt schon Beiträge lesen. Hier im Forum findest Du die Zend Framework Hilfe, die Du suchst!

    Grüße an alle Zend Framework Entwickler. Das Team vom Zend Framework Forum!

    Drupal Agentur

Keine Fehlermeldung im Default-Modul

zf-neuling

New member
Hallo,

ich bekomme beim Absenden des Formulars keinerlei Fehlermeldung obwohl alles definiert ist.

PHP:
    class Default_Form_Loginrecovery extends Zend_Form
    {
        public function init()
        {
            parent::init();
            
            $this->setMethod('post');
            $this->setAttrib('id', 'recovery');
            
            $decorator = array(
                array('ViewHelper'),
                array('Errors', array('class' => 'alert alert-error')),
                array('Label', array('tag' => 'span', 'class' => 'control-label')),
                array('HtmlTag', array('tag' => 'div', 'class' => 'block'))
            );
            
            $email = new Zend_Form_Element_Text(
                'LoginEmail', array(
                    'size'             => 50,
                    'maxlength'     => 50,
                    'label'            => $this->translator->translate('label_email'),
                    'class'            => 'form-control',
                    'required'        => true)
            );
            $email->addValidator('EmailAddress')
                    ->setDecorators($decorator);
                
            $submit = new Zend_Form_Element_Submit(
                'submit', array(
                    'label'    => $this->translator->translate('button_passwort_wiederherstellen'),
                    'class' => 'btn btn-primary'));
            
            $submit->removeDecorator('DtDdWrapper');
                    
            $this->addElements(array($email, $submit));

        }
    }

// Controller

$formLogin = new Default_Form_Loginrecovery();
                
                if ($this->getRequest()->isPost())
                {
                    $formData = $this->getRequest()->getPost();
                    
                    if($formLogin->isValid($formData))
                    {
                        ....
                    }
                }
    
                $this->view->form = $formLogin;
Allerdings wenn ich dieses Formular in einem weiteren Modul einbinde, funktioniert auch die Fehlerausgabe.

Kann mich jemand über dieses seltsame Verhalten aufklären?

Danke.

MfG
 

Kaiuwe

Super-Moderator
PHP:
parent::init();
          
$this->setMethod('post');
Beides ist überflüssig, denn die „init“-Methode von „Zend_Form“ ist leer und auch zum Überschreiben gedacht. Die Versandmethode ist standardmäßig schon auf „post“ gesetzt.

Allerdings wenn ich dieses Formular in einem weiteren Modul einbinde, funktioniert auch die Fehlerausgabe.
Was meinst du mit: „in einem weiteren Modul einbinde“?
 

zf-neuling

New member
Danke.

Wenn ich mein RecoveryForm z.B. in einem anderen Modul einbinde, funktioniert alles wie es sein soll. Nur in Default nicht.

Habe zwei Module, "default" und "mobile".

Nachtrag: Ich kann die Anzeige von Fehlern lediglich über

PHP:
print_r($formLogin->getMessages());
abfangen. Warum werden mir diese im Default Modul nicht angezeigt, ist mir ein Rätsel...
 
Zuletzt bearbeitet:

zf-neuling

New member
ich bin da weiter gekommen, wenn ich ein View übergebe, funktioniert alles wunderbar.
Was unklar ist, warum der View-Object nicht zur Verfügung steht.

PHP:
$this->view->form = $form->render(new Zend_View());
 
Oben