2011-08-11 45 views
0

我已經用zend表單創建了一個表單。 我在一個動作中處理數據,然後重定向到另一個動作。Zend Framework表單使表單失效

因此,如果發生錯誤,我重定向到最後一個表單,如果沒有錯誤,我將用戶重定向到另一個url。因此,當isValid()失敗時,我使用getMessages()(getErrorMessages不返回任何內容)來獲取消息,序列化它,將它放置在會話屬性中,然後重定向到表單頁面。我的問題是現在設置這些錯誤味精的形式,讓用戶知道有問題。

我已經試過這

$form->setErrors(unserialize($this->_session->form_error_msgs)); 

但是,這並不做任何事情。我需要做什麼來顯示字段旁邊的錯誤信息?

+1

可以使用設置形式爲無效'$形式 - > markAsError()'。 – Marcin

+0

@Marcin:setErrors會這樣做。 – AntonioCS

回答

4

你應該錯誤添加到字段,例如

$form->fieldname->addError('error message'); 

你的代碼可能無法工作,因爲你haven't配置的形式裝飾...

+0

我不得不遍歷消息並設置每個元素的錯誤信息。謝謝:) – AntonioCS

+0

我很高興知道它的工作:) – laurac

+0

只是一件事...你嘗試setErrorMessages($消息)? – laurac