在上传文件之前验证表单字段(Blueimp jquery文件上传)

时间:2014-07-27 12:19:14

标签: forms angularjs blueimp

我一直在使用blueimp文件上传(angularjs版本),我想在上传文件之前验证表单说我有一个包含名称和描述的表单,我希望在上传文件之前必须提供这些表格。

我想使用角度表单验证到目前为止我已尝试过此代码

$scope.$on('fileuploadsubmit', function (event, files) {
    if (filename) { // its a formfield 
        _uploadTemp.loadingIcon = true;
        $.each(files.files, function (index, file) {
            files.formData = {
                file_rename: file.name,
                templateName: _uploadTemp.name
            };
        });
    }
    else {
        form.submit = true
    }
});

执行此操作会向我显示文件名错误,但也会将文件提交给服务器。有什么方法可以阻止文件上传并显示错误??

任何帮助将不胜感激,只想提一下我使用BLUEIMP FILE UPLOAD Angularjs版本

1 个答案:

答案 0 :(得分:0)

我已经为此目的创建了一个指令PLUNKER LINK。我粘贴的代码只是为了让你了解指令应该如何。很抱歉没有提供正常工作的版本。如果我今天/明天有时间,我会让它工作。删除所有依赖项需要1-2个小时。但是这应该给你和想法,让你去。

我在那里实施的是:

  
      
  1. 必要的验证
  2.   
  3. 扩展验证
  4.   
  5. 非空文件
  6.   
  7. 使表单变脏/无效
  8.   
  9. 漂亮的选择/删除按钮
  10.   
  11. 获取对象中的文件大小
  12.   
  13. 使用ui validate进行自定义验证
  14.   

在javascript中指定验证

$scope.fileValidations = {
                extension: "xlsx",
                required: true,
            };


<cs-file-upload ng-model="selected.filename" file-info="selected.fileInfo"
                        validations="fileValidations"></cs-file-upload>

我正在使用angular-file-upload模块,它应该或多或少与blueimp类似。

明天我一定会试着把工作版本......