1
繼「邏輯」的問題,我有2個操作的控制器:使用Ajax Zend的形式和驗證
的indexAction:顯示一個搜索表,裏面的視圖Script是Div標籤來顯示搜索結果。
行動驗證表單:
public function indexAction()
{
$searchForm = new My_Form_Search();
$statsService = new My_Service_Statistics();
if ($this->getRequest()->isPost()) {
if ($searchForm->isValid($this->getRequest()->getParams())) {
$this->_forward('ajax-do-search');
} else {
//???
// i want to display the errors
exit();
}
}
$this->view->search = $searchForm;
}
public function ajaxDoSearchAction()
{
$this->view->result = array();
$searchForm = new My_Form_Search();
if ($this->getRequest()->isPost()) {
if ($searchForm->isValid($this->getRequest()->getParams())) {
$query = $searchForm->getValue('search');
$search = new My_Service_Search();
$hits = $search->find($query);
// more...
}
}
}
如果有效將其轉發給搜索行動,並認爲在 定義DIV通過Jquery.form呈現。
但如果服務器端驗證失敗怎麼辦?沒有「exit();」索引操作在結果div中顯示爲 。
我認爲解決的辦法很簡單,但很多代碼今天:-)
我知道我可以防止這種與客戶端驗證,但我推力PHP: -
你是對的,但現在我必須使用JSON打印結果( - : – opHASnoNAME 2011-03-15 16:16:56
沒有你不必須;)你可以執行'$ this-> render('my-ajax-viewscript');'以及。這只是我的最佳實踐;) – 2011-03-15 17:59:07
嗨,剛剛更改了代碼昨天完全到您的評論:-)現在我看到的事情更清晰!非常感謝! – opHASnoNAME 2011-03-16 06:21:04