无法使用自定义验证程序来验证输入(类型= ['文件'])最大大小的反应式表单

时间:2018-08-03 12:55:49

标签: angular angular-reactive-forms custom-validators

简而言之,问题是要验证文件上传输入的最大文件大小。默认情况下,Angular不在Form Control中存储用户附加的File对象的任何位置。只有value属性包含伪造的文件路径。 理想的情况是为此目的使用Custom Validator,但是通过验证器功能,我无法获取存储文件大小的附加File对象。我只能访问Form Control对象。

也许以前有人遇到过类似的问题,或者有什么想法可能会有所帮助?

目前,我正在change事件中使用手动文件对象验证,并手动设置/清除附件的错误。

1 个答案:

答案 0 :(得分:0)

就像我在评论中提到的那样,发现类型为'file'的输入在Angular形式中是一个弱点-github.com/angular/angular.io/issues/3466,并决定使用我描述的手动File解决方案更改事件时进行对象验证,并手动设置/清除附件的错误。