簡體   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