2015-03-31 17 views
6

Uygulamaları giriş formum açısal malzeme ile yapıyorum ve sayfalarındaki örneklerden biraz farklı bir şekilde kullanmaya çalışıyorum. Kullanıcı sadece alan doldurmadan göndermeye çalışırsa, sadece gerekli alanların bana bağlanmasını istiyorum. Belki de düğmeyi devre dışı bırakabilir misin? İsterseniz, kullanıcı yalnızca bir alanı dışarı çıkarır ve basarsa, "bunun gerekli olduğunu" göstermesini isterim. Şu anda sadece ben neAçısal, malzeme formu sadece gönderme denemesinden sonra alan gerektiğini söylüyor

İşte

doldurun kadar her zaman bunu gösteriyor: https://jsfiddle.net/5b1tsm2a/6/

Öyle gibi onların örnek sayfadaki kod çalışıyorum - Ben

<form ng-submit="authenticate()" name="loginForm"> 
     <md-input-container> 
      <label>Username</label> 
      <input name="name" reauired ng-model="loginInfo.username"> 
      <div ng-messages="projectForm.description.$error"> 
       <div ng-message="required">This is required.</div> 
      </div> 
     </md-input-container> 

     <md-input-container> 
      <label>Password</label> 
      <input name="password" reauired type="password" ng-model="loginInfo.password"> 
      <div ng-messages="projectForm.description.$error"> 
       <div ng-message="required">This is required.</div> 
      </div> 
     </md-input-container> 

     <md-button ng-click="authenticate()" class="md-primary btn btn-primary">Login</md-button> 
    </form> 

Altındaki ng mesajları ile gerekli mantığı kullanıyorum. Sadece bir şeyi doldurmadan göndermeye çalışıp çalışmadıklarını göstermek istiyorum. Teşekkürler! kodunuzu aşağıdaki

+0

de Önerilen belgeler (https://docs.angularjs.org/api/ng/directive/form). Ayrıca "reauired" yazım hataları da vardır. – ryanyuyu

cevap

5

Güncelleme: [açısal formlar] için

<form ng-submit="authenticate()" name="loginForm"> 
     <md-input-container> 
      <label>Username</label> 
      <input name="username" ng-model="loginInfo.username" required/> 
      <div ng-messages="loginForm.username.$error" ng-if='loginForm.username.$dirty'> 
       <div ng-message="required">This is required.</div> 
      </div> 
     </md-input-container> 

     <md-input-container> 
      <label>Password</label> 
      <input name="password" type="password" ng-model="loginInfo.password" required/> 
      <div ng-messages="loginForm.password.$error" ng-if='loginForm.password.$dirty'> 
       <div ng-message="required">This is required.</div> 
      </div> 
     </md-input-container> 
     <md-button type="submit" class="md-primary btn btn-primary">Login</md-button> 
</form> 
+1

Teşekkürler! Hiçbir şey doldurmazsanız her ikisinin de gerekli olduğunu göstermesi için herhangi bir yol var - sadece her ikisini de boş bırakırsanız sadece üst (isim) gerektiğini söylemek gerekiyor. –

+0

Birden çok giriş alanına "gerekli" özniteliği yerleştirdiğinizde, gerekli iletiler alanlar ortaya çıktıkça sırayla görüntülenir. Bu varsayılan davranıştır. Evet, değiştirebilirsin. Açısal yardımıyla yr özel doğrulama kullanın. Bunu kontrol edin: http://www.ng-newsletter.com/posts/validations.html – nitin

+2

Bu işe yaradı mı? Formda novalidate özniteliği eklemeniz ve her alanın kirli olup olmadığını kontrol etmek yerine loginForm. $ Gönderildiğini düşünürdüm. – daddywoodland