无法使用自定义验证器验证响应式表单以输入(类型=['file'])最大尺寸

Can't validate Reactive Form with Custom Validator for input (type=['file']) max size

简而言之,问题是针对文件最大大小验证文件上传输入。 Angular 默认情况下不会将用户附加的文件对象存储在表单控件中的任何位置。只有 value 属性 包含文件的假路径。 理想情况应该是为此目的使用自定义验证器,但是通过验证器函数我无法获得存储文件大小的附加文件对象。我只能访问表单控件对象。

也许有人以前遇到过类似的问题或有任何有用的想法?

目前我正在对 change 事件使用手动文件对象验证并手动 setting/clearing 附件错误。

就像我在评论中提到的,发现输入类型='file' 是Angular 形式中的弱点 - github.com/angular/angular.io/issues/3466 并决定使用我描述的解决方案,在更改事件时手动验证文件对象并手动 setting/clearing 附件错误。