2011-12-08 87 views
0

我是Zend Framework的一個相當新手,我忙於一個簡單的 應用程序,它不需要框架的整個MVC結構,因此我設置了包含路徑看Zend Framework Library。在客戶端驗證Zend Framework表格

到目前爲止,我設法設置了一個簡單的登錄表單。但是,我與 掙扎,現在是我form.MY代碼不會出現表單驗證看起來是這樣的:

$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

+0

你是什麼意思'表單驗證不會發生'?有沒有錯誤?如果你想在客戶端驗證 - 這是不夠的。 'Zend_Validate_ *'類用於服務器端驗證。 – BartekR

回答

0

你能按照你的問題更加清楚一點,你說你的驗證是不工作在客戶端或服務器端?

如果您想讓它在服務器端工作您需要使用$form->isValid(my_post_Data)才能驗證控制器上的表單。但是,如果你已經這樣做了,而且你無法實現它,那麼你是否會遇到任何錯誤?

如果你已經知道如何在服務器端做到這一點,但期望它在客戶端工作,那麼它不足以讓它在客戶端進行驗證。但是,您可以使用簡單的ajax請求輕鬆完成,而無需再次編寫客戶端驗證。你可以諮詢this。這非常簡單,併爲您節省了大量時間。