如何从表单 class 中删除字段并查看
how to remove fields from form class and view
根据调用表单的位置,我想删除一些未使用的字段。
我从我的控制器 class:
尝试了以下操作
switch ($typ){
case 3: //Analyse
$form->get('analyseid')->setValue($id); //works
$form->remove('vertragid'); //doesn't work
break;
}
我遇到一些错误:
No element by the name of [vertragid] found in form
\wiedervorlage\add.phtml(25): Zend\Form\Fieldset->get('vertragid')
当然,我尝试在我的 view.phtml 脚本中获取属性。
我的问题是:如何从表单和视图中删除字段。
尽管我不太喜欢这种解决方法,但这里的解决方案非常简单。
如果您需要删除在某些条件下给出的某些元素,您可以使用以下行从控制器中删除它们:
switch ($typ) {
case 3:
// Remove the element 'vertragid'
$form->remove('vertragid');
// Remove inputfilters. This is necessary, because if the element
// is required, the inputfilter will always block the validation
// of the form
$form->getInputFilter()->remove('vertragid');
break;
}
为避免视图中出现错误,您必须检查该元素是否存在于表单中:
if ($form->has('vertragid')){
echo $this->formRow($form->get('vertragid');
}
根据调用表单的位置,我想删除一些未使用的字段。 我从我的控制器 class:
尝试了以下操作switch ($typ){
case 3: //Analyse
$form->get('analyseid')->setValue($id); //works
$form->remove('vertragid'); //doesn't work
break;
}
我遇到一些错误:
No element by the name of [vertragid] found in form \wiedervorlage\add.phtml(25): Zend\Form\Fieldset->get('vertragid')
当然,我尝试在我的 view.phtml 脚本中获取属性。
我的问题是:如何从表单和视图中删除字段。
尽管我不太喜欢这种解决方法,但这里的解决方案非常简单。
如果您需要删除在某些条件下给出的某些元素,您可以使用以下行从控制器中删除它们:
switch ($typ) {
case 3:
// Remove the element 'vertragid'
$form->remove('vertragid');
// Remove inputfilters. This is necessary, because if the element
// is required, the inputfilter will always block the validation
// of the form
$form->getInputFilter()->remove('vertragid');
break;
}
为避免视图中出现错误,您必须检查该元素是否存在于表单中:
if ($form->has('vertragid')){
echo $this->formRow($form->get('vertragid');
}