![](/img/trans.png)
[英]How to use identical field validation for add and edit operation in zend form?
[英]How to create add - edit functionality using just a single zend form?
我創建了一種擴展zend形式的形式。 對於添加新記錄,它可以正常工作。 但是我希望相同的表單可以用於更新記錄。 那么表單字段是否已設置為要編輯的記錄? 這種情況下的最佳做法是什么?
如果您想重復使用表單,則非常簡單:
不要將動作放入表單中,請在控制器中分配動作
$form->setAction('/path');
(這也會覆蓋您在表單中設置的操作)
刪除當前目的不需要的任何表單元素,通常,添加表單將比更新表單多幾個元素。 $form->removeElement('elementName');
更改任何需要更改的標簽。 $form->submit->setLabel('Update');
用數據預填充表格。 $form->populate('dataArray');
然后像往常一樣處理表格。
使用數據庫中的數據填充控制器中的表單,但是如果提交了表單,則將使用來自用戶的$_POST
數據填充該表單
$entityData = $model->getSomeEntity(); //and perhaps ->toArray() if applicable
$form->populate($entityData);
if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
$newData = $form->getValues();
//$model->update($newData, ...);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.