在使用Polymer上传之前如何验证文件参数?

时间:2018-07-22 13:29:13

标签: javascript polymer polymer-2.x

在将其上传到服务器之前,我想在前端验证文件名和文件大小。 我以为iron-input会是一个好的解决方案,但是我却无法使其正常工作。我遵循了官方Web组件网站上的提示: https://www.webcomponents.org/element/PolymerElements/iron-input 对我来说最有趣的部分是演示部分的最后一个示例:

<cats-only></cats-only>
<iron-input auto-validate validator="cats-only">
  <input placeholder="only 'cat' is valid">
</iron-input>

我试图做类似的事情:

document-upload.html

<document-validator></document-validator>
<iron-input
    id="ironFile"
    bind-value="[[document]]"
    validator="document-validator"
    auto-validate>
<input type="file"
    id="inputUploadFile"
    hidden
    name="files[]"
    accept=".pdf"
    value="{{document::input}}"
    on-change="_uploadSelectedFile">
</iron-input>

document-validator.html

class DocumentValidator extends Polymer.mixinBehaviors([Polymer.IronValidatorBehavior],
  Polymer.Element) {


  static get is() {
    return 'document-validator';
  }

validate(value) {
    console.log("VALIDATOR")
}

但是不幸的是,没有调用validate()函数。而且,我收到一个错误消息:

  

此输入元素接受文件名,该文件名只能是   以编程方式设置为空字符串。

当我摆脱iron-input的{​​{1}}和value属性时,上传功能可以正常工作。正确的方法是什么?验证应如何处理?

0 个答案:

没有答案