更新场景中文件上传的验证规则


Validation rule for file upload in update Scenario

我有文件上传选项的形式。我在模型中添加了字段,并添加了验证规则,如下所示。

[['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"]], 

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

谢谢

try below rules

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

在创建操作中添加场景,而不是在更新

$model->scenario = 'insert';