當需要圖像文件時,出現此錯誤:「預覽不能爲空」。雖然我填補了這個領域。由於'文件'驗證規則,在保存()時出現'不能空白'錯誤
我的規則:
public function rules()
{
return [
[['name', 'preview', 'date', 'author_id'], 'required', 'on' => 'update'],
[['name', 'preview', 'date', 'author_id'], 'required', 'on' => 'create'],
[['date_create', 'date_update', 'author_id'], 'integer'],
[['preview'], 'file', 'skipOnEmpty' => 'false', 'extensions' => 'png, jpg, jpeg'],
[['date'], 'safe'],
[['name'], 'string', 'max' => 255]
];
}
控制器:
public function actionCreate()
{
$model = new Book();
$model->scenario = 'create';
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$model->preview = UploadedFile::getInstance($model, 'preview');
if ($model->save() && $model->preview->saveAs('uploads/' . $model->preview->baseName . '.' . $model->preview->extension))
{
return $this->redirect(['view', 'id' => $model->id]);
}
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
如果不需要preview
文件不存在錯誤,該文件被加載到uploads
文件夾。
試着用'$ model-> save(false)'。 –