更新方案中文件上载的验证规则

时间:2016-06-28 12:00:32

标签: php validation yii2

我在表单中有文件上传选项。我在模型中添加了字段,并添加了如下的vlaidation规则。

[['file1'], 'file', 'skipOnEmpty' => false, 'extensions' => 'pdf,png,jpg', 'maxSize' => "10485760", 'tooBig' => "Maximum upload file size is 10MB"]

在编辑模式下,不需要文件字段。所以我需要跳过更新场景所需的字段验证,但如果用户选择更新形式的文件,那么扩展,大小需要验证。

我改变了规则如下。

[['file1'], 'file', 'skipOnEmpty' => false, 'extensions' => 'pdf,png,jpg', 'maxSize' => "10485760", 'tooBig' => "Maximum upload file size is 10MB", "on" => ["insert"]], 

[['file1'], 'file', 'skipOnEmpty' => true, 'extensions' => 'pdf,png,jpg', 'maxSize' => "10485760", 'tooBig' => "Maximum upload file size is 10MB", "on" => ["update"]], 

但它仍然要求以编辑形式上传文件。

由于

1 个答案:

答案 0 :(得分:0)

尝试以下规则

[['file1'], 'file', 'skipOnEmpty' => true, 'extensions' => 'pdf,png,jpg', 'maxSize' => "10485760", 'tooBig' => "Maximum upload file size is 10MB"],
[['file1'], 'required', 'on' => 'insert'],

在您的创建操作中添加不在更新中的方案

$model->scenario = 'insert';