我正在使用Yii开发数据库界面。我跟着interface doc以便在创建新记录时启用文件上传,但是我遇到了更新问题。我希望用户能够填写其他表单字段,而无需再次上传文件。我在_form
视图中尝试了这个
<?php if($model->isNewRecord){ ?>
<div class="row">
<?php echo $form->labelEx($model,'filename'); ?>
<?php echo $form->fileField($model,'filename'); ?>
<?php echo $form->error($model,'filename'); ?>
</div>
<?php }else{ ?>
<div class="row">
<?php echo $form->textField($model,'filename', array('value'=>$model->filename)); ?>
</div>
<?php } ?>
但是当我提交表单时,我收到错误文件名不能为空。请注意,在我的模型中,我声明了以下规则:
array('filename', 'file', 'types'=>'jpg, jpeg, gif, png),
在存在文件字段时是否有标准的方法来实现记录udate?我该如何更改我的代码? 谢谢。
答案 0 :(得分:0)
您可以在规则中指定无需提交文件。
array('filename', 'file', 'types'=>'jpg, jpeg, gif, png', 'allowEmpty'=>true),
allowEmpty将删除文件上传字段的非必需条件。
如果您希望文件在创建时是强制性的,而不是在更新时,则可以使用此文件。
array('filename', 'file', 'types'=>'jpg, jpeg, gif, png', 'allowEmpty'=>false, 'on'=>'create'),
array('filename', 'file', 'types'=>'jpg, jpeg, gif, png', 'allowEmpty'=>true, 'on'=>'update'),