加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Yii:验证失败后上传文件?

发布时间:2021-08-28 03:47:44 所属栏目:大数据 来源: https://www.jb51.cc
导读:如果我使用YII上传文件而另一个规则失败,则用户必须再次选择该文件.避免这种情况的最简单方法是什么? 例如,我有一个规则,标题最多必须是20个字符.用户输入21个字母.他选择要上传的文件.当用户返回页面时,该文件不再存在,他必须再次选择它,并再次有效地上传

如果我使用YII上传文件而另一个规则失败,则用户必须再次选择该文件.避免这种情况的最简单方法是什么?

例如,我有一个规则,标题最多必须是20个字符.用户输入21个字母.他选择要上传的文件.当用户返回页面时,该文件不再存在,他必须再次选择它,并再次有效地上传它.这非常令人沮丧,尤其是当用户需要上传最多十个文件时.

我知道Drupal是这样的.如果您上传并且其他规则失败,则返回表单时文件将显示为屏幕截图.如何在YII上获得相同的功能?

UPDATE
如果我能够满足this extension的要求并且不要求用户按下开始上传,我将免费回家

解决方法:

xupload包装的原始插件,你可以使用一个额外的回调选项:.done().

在xupload wiki中,访问这些附加选项的方式是这样的:

<?PHP
    $this->widget('xupload.XUpload', array(
        // ... other attributes
        'options' => array(
            //This is the submit callback that will gather
            //the additional data corresponding to the current file
            'submit' => "js:function (e, data) {
                var inputs = data.context.find(':input');
                data.formData = inputs.serializeArray();
                return true;
            }"
        ),
    ));
?>

Source

您可以将提交部分更改为已完成,并将上传文件的URL /路径保存到临时隐藏字段,然后将验证移至该隐藏字段,这样用户就不必重新上传再次归档.

我从这个插件转移到coco uploader,因为它更容易实现.

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读