我有一个表单(登录表单)出现在所有页面中(如果用户未登录)。
表单是从视图助手创建的,然后直接在layout.phtml中调用
class Zend_View_Helper_LoginForm extends Zend_View_Helper_Abstract
{
public function loginForm()
{
$login = new Application_Form_Login();
return $login;
}
}
<?php if(!$this->isLoggedIn()): ?>
<div id="login">
New User? <a href="#">Register Here</a>
<?php echo $this->loginForm(); ?>
<a href="#">Forgot Password!</a>
</div>
<?php endif; ?>
现在如何设置此表单的操作,以便我可以验证同一页面中的字段?
答案 0 :(得分:2)
Matthew Weier O'Phinney(ZF程序员领导者)有一篇博文,内容是关于创建与您的需求完全相同的可重用小部件
你应该试一试,
答案 1 :(得分:1)
您可以在其他页面上对其进行验证,并在验证后重定向。此外,您可以通过ajax验证它。
答案 2 :(得分:0)
通常您将其发布到登录页面,如果失败,您可以重定向用户,设置正确的http标头并显示错误消息
答案 3 :(得分:0)
我们通常做的是将表单发送到不同的操作,并在该操作视图中呈现专用表单。如果没有错误,则会在不注意的情况下重定向用户。如果出现错误,表单将显示在主要内容区域中,并显示正确的错误消息。通常问题是这个表单小部件的区域不够大,无法获得良好的错误消息。