【问题标题】:I am facing Issue in size of file Validation in magento 1我在magento 1中面临文件验证大小问题
【发布时间】:2017-07-17 13:09:51
【问题描述】:

我在验证 magento 表单验证器中的文件时遇到问题,

我有这样的文件大小的自定义验证代码。

Validation.add('validate-filesize', '上传文件应该小于2MB',function(v,elem) { var file = elem.files; var fileSize = file[0].size; if(fileSize <= 2000000){ return true; } else{ return false; } });

在我的表格中有两个文件字段。

上面的验证代码在这个字段中工作正常。

&lt;input type="file" id="file1" name="file1" value="" class="input-text required-entry validate-filesize"&gt;

但无法验证以下字段

&lt;input type="file" id="file2" name="file2" value="" class="input-text validate-filesize"&gt;

【问题讨论】:

    标签: javascript validation magento magento-1.7 magento-1.9


    【解决方案1】:

    错误不在库中,而是在您的验证器回调函数中。

    您正在使用以下代码检查文件的大小

    var fileSize = file[0].size
    

    但是当用户没有上传任何文件时,变量file[0]undefined。因此,当您执行file[0].size 时,它会引发错误提示Cannot read property 'size' of undefined。这就是为什么停止进一步处理您的代码并且您没有收到所需的消息的原因。

    这样做的一个好方法是在检查文件大小之前检查用户是否上传了任何文件,就像这样。

    var file = elem.files;
    
    if(file.length == 0) return true; // all is good if user didn't upload any file
    
    //go ahead with the rest of the code otherwise
    
    var fileSize = file[0].size;
    
    if(fileSize <= 2000000){
        return true;
    }
    else{
        return false;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-24
      • 2019-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多