在客户端验证Zend Framework表单


Validating a Zend Framework form on client-side

我是一个相对新手的Zend框架,我忙于一个简单的不需要整个MVC框架结构的应用程序;所以我设置了包含路径来查看Zend框架库。

到目前为止,我已经成功地设置了一个简单的登录表单。但我正在挣扎的是现在是表单验证没有发生在我的表单。我的代码是这样的:
    $form = new Zend_Form();
    $form->setView(new Zend_View())
->setAction('includes/login.php')
->setMethod('post')
->setAttrib('id', 'login');
$username = new Zend_Form_Element_Text('username');
$username->addValidator(new Zend_Validate_Alnum())
->setLabel('username')
->setRequired(true);
$password = new Zend_Form_Element_Password('password');
$password->addValidator('StringLength', false, array(5))
->setLabel('password')
->setRequired(true);
$login = new Zend_Form_Element_Submit('login');
$login->setLabel('login');
$form->addElement($username)
    ->addElement($password)
->addElement($login);
echo $form->render();

我不确定在这种情况下如何使用验证类/方法,是否有人可能有我可以使用的指南和教程,或者可能指出我在正确的方向,因为我不确定我所做的是否正确?

ldevstarx

你能让你的问题更清楚一点吗,你是说你的验证在客户端或服务器端不起作用吗?

如果你想让它在服务器端工作,你需要使用$form->isValid(my_post_Data)来验证你的控制器上的表单。但是如果你已经这样做了,你不能让它工作,那么你会得到任何错误吗?

如果你已经知道如何在服务器端做它,但希望它在客户端工作,那么它是不够的,让它在客户端验证。但是,您可以使用简单的ajax请求轻松地做到这一点,而不必再次编写客户端验证。你可以参考这个。