繁体   English   中英

ng-file-upload验证(ngf- [max | min]-[height | width]或ngf尺寸)似乎没有生效

[英]ng-file-upload validation (ngf-[max|min]-[height|width] or ngf-dimensions) not appearing to take effect

某些ng-file-upload指令在这里显然可以正常工作:我可以看到图像预览,并且上传效果很好。 我现在正在尝试验证图像分辨率。 检查元素时,我在下面看到以下内容:

<input type="file" ngf-dimensions="$width == 114 && $height == 114" ng-select="onFileSelect($files)" accept="image/png" base-sixty-four-input="" ng-model="fileDesc.file" name="filename_png" id="filename_png" class="ng-untouched ng-valid ng-isolate-scope ng-valid-parse ng-dirty">

我可以看到ngf-dimensions属性已正确填充,此外,还设置了ng-dirty ,因为此时我已尝试上传文件。 但是文件的尺寸不是114x114。 我不应该看到的ng-invalid的,而不是ng-valid

我还尝试了更长的措辞,我认为这是等效的,具有相同的效果:

<input type="file" ngf-min-width="114" ngf-min-width="114" ngf-min-height="114" ngf-max-height="114" ... >

为了启用表单域的验证和检查form.field.$error的能力,是否需要执行一些特定的操作?

更新以添加ng-file-upload版本:11.2.0

再次进行编辑以添加Test: {{form.field}}的输出,是否应该填充$validators 还是我在这里也使用base64 upload指令遇到了一些冲突?

Test: {"$viewValue":{"filetype":"image/png","filename":"PNG successful.png","filesize":383443,"base64":"..."},"$validators":{},"$asyncValidators":{},"$parsers":[null,null,null,null],"$formatters":[],"$viewChangeListeners":[],"$untouched":true,"$touched":false,"$pristine":false,"$dirty":true,"$valid":true,"$invalid":false,"$error":{},"$name":"filename_png","$options":null}

我不熟悉该库,但是它的参考文档看起来像这样:

 ngf-dimensions="$width > 1000 || $height > 1000" or "validateDimension($file, $width, $height)"
 // validate the image dimensions, validate error name: dimensions

如果我看下面作者的验证示例,他似乎正在使用required属性,这可能是您唯一的问题,但我还将检查form.file.$error.dimensions以查看是否完全捕获了错误:

<input type="file" ngf-select ng-model="picFile" name="file" accept="image/*" ngf-max-size="2MB" required ngf-model-invalid="errorFiles">

我应该首先提供一个jsfiddle。 只是试图生成一个来重现我的问题,这迫使我意识到我的代码丢失了模块上的ngFileUpload注入。 难怪它没有用。 谢谢@danial的出色工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM