2016-01-13 84 views
0

我想通過使用角度表單和表單屬性如$ valid,$ invalid,$ pristine,$ dirty,$ touch來應用文件輸入類型的驗證。需要驗證不適用於輸入類型文件

注意:除文件類型以外的所有其他驗證正在工作。

代碼HTML是象下面這樣:

<form name="userForm" ng-submit="submitForm(userForm.$valid)" novalidate> 
    .... 
    .... 
    .... 
    <div class="form-group" ng-class="{ 'has-error' : userForm.email.$invalid && !userForm.email.$pristine }"> 
     <label>File</label> 
     <input type="file" name="filetest" class="form-control" ng-model="user.file"> 
     <p ng-show="userForm.filetest.$invalid && !userForm.filetest.$touched" class="help-block">File is required.</p> 
    </div> 
    .... 
    .... 
    .... 
</form> 

,但上面的代碼是行不通的。請幫我解決這個問題。

Here是plnkr鏈接供參考。

回答

0

您的文件輸入沒有需要屬性。

編輯: 您還需要在您的納克級的更改條件:它應該是

'has-error' : userForm.filetest.$invalid && !userForm.filetest.$pristine 

,而不是

'has-error' : userForm.email.$invalid && !userForm.email.$pristine 

整個DIV元素應該是這樣的:

<div class="form-group" ng-class="{ 'has-error' : userForm.filetest.$invalid && !userForm.filetest.$pristine }"> 
    <label>File</label> 
    <input type="file" name="filetest" class="form-control" ng-model="user.file" required> 
    <p ng-show="userForm.filetest.$invalid && !userForm.filetest.$touched" class="help-block">File is required.</p> 
</div> 

我認爲它在changind提到的div之後按預期工作。

+0

這是一個錯字。 –

+0

我編輯了我的答案(我發現了另一個錯字) - 在推薦建議的更改後應該可以。 –