任何人都可以告诉我如何才能将文件上传强制用于创建而不是用于更新
我的文件上传代码是:
<?php echo $form->labelEx($model,'file'); ?>
<?php echo $form->fileField($model, 'file');?>
<?php echo $form->error($model,'file'); ?>`
工作正常。但我需要对当前的模型强制要求。我是否需要在文件模型或当前模型中的规则函数中使其成为必需?
谢谢,
答案 0 :(得分:1)
最简单的方法是在模型规则中:
array('file', 'required','on'=>'insert'),
然后只需要插入而不是更新。
另一种方法是使用before或afterValidate方法:
protected function afterValidate(){
if($this->isNewRecord){
if(!isset($this->file)){ //Not sure about handling files if this works.
$this->addError("file","Not file selected. Please choose a file to upload.");
return false;
}
}
return parent::afterValidate();
}