mvc php中的公式验证

时间:2010-07-02 09:25:58

标签: php model-view-controller validation forms registration

我写了验证课。现在,从验证类扩展表单类是否可以?甚至从请求类扩展验证类?

我只是不确定如何在mvc中为新用户实施注册过程。完全混淆。

编辑:我在这里发现了这个问题:

// application/controllers/GuestbookController.php
  class GuestbookController extends Zend_Controller_Action

  {
      // snipping indexAction()...

      public function signAction()
      {
          $request = $this->getRequest();
          $form    = new Application_Form_Guestbook();

          if ($this->getRequest()->isPost()) {
              if ($form->isValid($request->getPost())) {
                  $comment = new Application_Model_Guestbook($form->getValues());
                  $mapper  = new Application_Model_GuestbookMapper();
                  $mapper->save($comment);
                  return $this->_helper->redirector('index');
              }
          }

          $this->view->form = $form;
      }
  }  

但我不明白如果输入错误,您现在可以使用填充的输入字段返回表单页面

$this->view->form = $form;

这只是设置一个值,但不会重定向到registration.php。那么如何在此之后进入registration.php

if ($form->isValid($request->getPost())) {
    $comment = new Application_Model_Guestbook($form->getValues());
    $mapper  = new Application_Model_GuestbookMapper();
    $mapper->save($comment);
    return $this->_helper->redirector('index');
}
else {
    // ... do redirect to registration.php and fill input fields with set $_POST
}

1 个答案:

答案 0 :(得分:0)

我不会延伸它。它们具有不同的“范围”(一个输入数据,另一个验证数据)......

如果您想强制验证,我建议使用Dependency Injection,或者只在必要时选择设置验证对象。我之前做过两次。