之前我曾经多次遇到过这个问题,我希望得到关于最好处理这个问题的建议: 我有一个表单来创建一个带有标签,描述等的新项目......并带有一个输入文件以便上传文档;最后一个字段是强制性的。
当我想编辑这个项目时(所以先将它保存到数据库或其他任何内容之后)我希望文件字段不再是必需的,如果用户没有选择新文件,我将保留以前的文件名这里。
那么使用Zend Framework 2做到这一点的最佳方法是什么?我已经有我的模型,表单和输入过滤器设置,一切都运行良好。
我在考虑: - 在编辑模式下具有不同的inputFilter配置, - 或者输入字段的验证器检查是否已经为附加到表单的实体设置了文件名, - 或将当前文件名存储在输入隐藏字段中(不是那么安全) - 或???
提前感谢您,祝您有个愉快的一天
答案 0 :(得分:1)
您只需更改控制器中的输入过滤器
即可$form = new \Zend\Form\Form();
$filters = $form->getInputFilter();
$filters->remove('file');
$filters->add(array(
'name' => 'file',
'required' => true,
//...
));
或者你可以在输入过滤器类
中使用这个逻辑