![](/img/trans.png)
[英]ngf-max-size $digest() error with ng-file-upload in angular.js
[英]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.