2012-04-13 34 views
9

Tôi có bộ điều khiển khung zend. Trong phương pháp init tôi tạo ra một hình thức và điền vào hộp thả xuống vớiisValid trong biểu mẫu khung công tác zend FALSE

$form = new FORM_NAME(); 
$form->getElement('ZdGroup')->addMultiOptions($zendesk_groups); 

sau đó trong hành động tôi kiểm tra

$formData = $this->getRequest()->getParams(); 
    if ($form->isValid($formData)) { 
     ... 
} 

nhưng isValid() lợi nhuận FALSE nếu tôi xóa dòng này $form->getElement('ZdGroup')->addMultiOptions($zendesk_groups); nó trở lại TRUE.

Tôi không hiểu tại sao, không ai có ý tưởng?

+1

Chúng tôi cần lớp 'FORM_NAME()' của bạn để biết biểu mẫu của bạn đang làm gì. – Liyali

+0

Có thể phần tử đó được đặt thành bắt buộc tại FORM_NAME. $ element-> setRequired (đúng)? – dimirc

Trả lời

17

Để trả lời câu hỏi 'lý do', bạn đã bỏ các thông báo lỗi biểu mẫu chưa?

$form->getMessages(); //error messages 
$form->getErrors(); //error codes 
$form->getErrorMessages(); //any custom error messages 

Điều đó ít nhất có thể cung cấp cho bạn ý tưởng tốt hơn về 'lý do'.

+0

Cảm ơn, nó đã giúp –

+4

đôi khi sử dụng đầu vào tệp mà không cần cài đặt mã hóa trên biểu mẫu, gây ra sự cố này. –

+0

umm .. bạn có chắc không? thư trống và lỗi/errorMessage thậm chí không tồn tại dưới dạng functino. – Blauhirn

Các vấn đề liên quan