2017-08-28 32 views
0

我在angularjs中編寫了表單驗證,但它不起作用。在angularjs中的表單驗證不起作用

當我發送帶空字段的表單時,類有'ng-valid'和'ng-hide'不會從錯誤中刪除。

<form name="form" ng-submit="createUser(user)" novalidate> 
    <div class="form-group"> 
     <label for="name">Nazwa użytkownika:</label> 
     <input type="text" name="name" id="name" class="form-control" ng.model="user.name" required=""> 
     <div ng-show="form.$submitted || form.name.$touched"> 
      <div ng-show="form.name.$error.required">Podaj nazwę użytkownika.</div> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label for="email">Adres e-mail:</label> 
     <input type="email" name="email" id="email" class="form-control" ng.model="user.email"> 
     <div ng-show="form.$submitted || form.email.$touched"> 
      <span ng-show="form.email.$error.required">Podaj adres e-mail.</span> 
      <span ng-show="form.email.$error.email">Adres e-mail jest nieprawidłowy.</span> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label for="role">Rola użytkownika:</label> 
     <select name="role" id="role" class="form-control" ng-model="user.role"> 
      <option value="3">klient</option> 
      <option value="2">pracownik</option> 
      <option value="3">admin</option> 
     </select> 
     <div ng-show="form.$submitted || form.role.$touched"> 
      <span ng-show="form.role.$error.required">Wybierz rolę użytkownika.</span> 
     </div> 
    </div> 
    <button type="submit" class="btn btn-primary">Dodaj użytkownika</button 
</form> 

回答

3

您的某些ng-model中有一個錯字。它應該是ng-model而不是ng.model。你必須設置ng-required="true",或者你可以簡單地把required在所有必填字段

<input type="text" name="name" id="name" class="form-control" ng-model="user.name" ng-required="true"> 
+2

'NG-model'不'ng.model' – abhig10

+0

@ abhig10感謝您指出。我已經更新了答案 – Vivz

+1

並且'required =「」'沒有什麼區別。 'required =「」或ng-required =「true」'或'required'就可以。 – abhig10