我正在使用Angular的JS着名的ng文件上传指令(https://github.com/danialfarid/ng-file-upload),但我遇到了有关验证的问题。我添加了ngf-pattern指令,以防止用户上传某些文件格式。这很有效,每个无效文件都可以在$ invalidFiles数组中使用。反正有没有清除这个阵列?
我正在使用$ invalidFiles数组来检测何时使用了无效文件,并提醒用户。该文件未显示在UI中,并且未添加到我的模型中,但由于表单无效,我仍无法提交表单。只有在我添加有效文件后,我才能提交表格。有没有办法检测无效文件但仍能提交表单?
希望我很清楚..谢谢!
答案 0 :(得分:1)
这就是您所需要的:JsFiddle
$scope.submit = function() {
alert('form is ready');
}
答案 1 :(得分:0)
你真正需要的是ngf-change
,而不是ngf-select
。根据文档,只要您选择,删除或清除,就会调用分配给ngf-change指令的处理函数。
如果您想要实现的唯一目的是允许表单提交,无论其有效还是无效,将在ng-model-options
上使用另一种方法。有一个名为allowInvalid
的选项,默认情况下它是false
,将其设置为true
即可。
所以在你的例子中:
<button name="bla" multiple accept="image/*"
ngf-keep="true"
ng-model="myFiles"
ngf-pattern="'image/*'"
ngf-max-size="1MB"
ngf-change="handleFiles($files, $invalidFiles)"
ngf-model-options="{allowInvalid: true}">
Select Files
</button>
注意我们在这里更改的最后两个指令。
如需完整参考,请查看Full reference - File select and drop
部分的官方文件