Well my first question is - if they are the same thing whay arent you using the class to create the form used in the view you outlined?

Secondly if all the fields have the exact same names/ids then you can just use the form class in your action as described simply using the validate method

$form = new Default_Form_Login();
if($form->validate($this->getRequest()->getPost())
{
  $result = $form->getValues();
  // successful validation logic
}

or if you dont want/need to validate...


$form = new Default_Form_Login();
$form->populate($this->getRequest()->getPost());
$result = $form->getValues();

Although with the latter i dont undrestand why youd bother running it through the form again unless its for redisplay purposes...



Simeon Goranov wrote:
Hello,
I've got this one in my view script index.phtml:

<h2>Log In</h2>
<p>
<?php echo $this->form('Default_Form_Login', array('name' =>
'form_login', 'id' => 'form_login', 'method' => 'post', 'action' =>
$this->link('login', 'index')), false); ?>
Username <br />
<?php echo $this->formText('form_username');?><br />
Password <br />
<?php echo $this->formPassword('form_password');?><br />
<?php echo $this->formSubmit('Submit', 'Login');?>
</form>
</p>


The form up is created with the view helpers and I want to "connect"
this form to one created from the class:

class Default_Form_Login extends Zend_Form
{
public function __construct($options=array())
    {
        parent::__construct($options);
$this->setName('form_login');
        $this->setMethod('post');

        $element = new Zend_Form_Element_Text('form_username');
        $element->setLabel('Username');
        $this->addElement($element);
$element = new Zend_Form_Element_Password('form_password');
        $element->setLabel('Password');
        $this->addElement($element);

        $element = new Zend_Form_Element_Submit('Login');
        $this->addElement($element);
    }
}


So I will be able to use the form in my action in this way:

public function loginAction()
{
    $form = new Default_Form_Login();
    $result = $form->getValues();

Is it possible and how ?

Regards,
S.G.


Reply via email to