我在表单中有文件上传选项。我在模型中添加了字段,并添加了如下的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"]],
但它仍然要求以编辑形式上传文件。
由于
答案 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';