2016-12-15 30 views
5

Formu gönderme ve yeni md-input-container metin kutularını dinamik olarak ekleme, metin kutusunu kırmızı renkte gösteriyor ancak kullanıcı metin kutusuna dokunmadığında, varsayılan renkte göster. Code pen link hereYeni md-input-container eklenmesi geçersiz olarak gösteriliyor

HTML:

<div ng-controller="AppCtrl" layout="column" ng-cloak="" class="inputdemoErrors" ng-app="MyApp"> 

    <md-content layout-padding=""> 
    <form name="projectForm" novalidate> 

     <md-input-container class="md-block" ng-repeat="dep in depFiles"> 
     <label>Description</label> 
     <input md-maxlength="30" required="" md-no-asterisk="" name="description" ng-model="project.description"> 
     <div ng-messages="projectForm.description.$error"> 
      <div ng-message="required">This is required.</div> 
      <div ng-message="md-maxlength">The description must be less than 30 characters long.</div> 
     </div> 
     </md-input-container> 


     <div> 
     <md-button type="button" ng-click="addNew();">Add Row</md-button> 
     <md-button type="submit">Submit</md-button> 
     </div> 

     <p style="font-size:.8em; width: 100%; text-align: center;"> 
     Make sure to include <a href="https://docs.angularjs.org/api/ngMessages" target="_blank">ngMessages</a> module when using ng-message markup. 
     </p> 
    </form> 
    </md-content> 

</div> 

<!-- 
Copyright 2016 Google Inc. All Rights Reserved. 
Use of this source code is governed by an MIT-style license that can be foundin the LICENSE file at http://material.angularjs.org/HEAD/license. 
--> 

JS: Buradan sorunu bulabilirsiniz gönderin ve ardından Ekle satırını tıklayın üzerindeki

angular.module('MyApp',['ngMaterial', 'ngMessages', 'material.svgAssetsCache']) 

.controller('AppCtrl', function($scope) { 
/* $scope.project = { 
    description: 'Nuclear Missile Defense System', 
    rate: 500 
    };*/ 
    $scope.addNew = addNew; 
      $scope.depFiles = []; 
     addNew(); 
     function addNew(){ 
     $scope.depFiles.push({ 
      name: '' 
     }); 
     } 

}); 

tıklayın yeni eklenen metin için, kırmızı gösteriyor renk, ama göstermemeli. Her türlü yardım önemlidir. Gönder üzerine tıklayın ve sonra satır ekleyin, Varsayılan renkte nasıl gösterilebilir, yani kırmızı renkte değil. Eğer formda bir giriş eklediğinizde

cevap

0

, onlar ben adını güncelledik

<md-input-container class="md-block" ng-repeat="dep in depFiles"> 
     <label>Description</label> 
     <input md-maxlength="30" required="" md-no-asterisk="" name="description" ng-model="project.description"> 
// 
// yours name is equals in all 
// 
     <div ng-messages="projectForm.description.$error"> 
// 
// Will always have the same error if you do not change the name for each input 
// 
      <div ng-message="required">This is required.</div> 
      <div ng-message="md-maxlength">The description must be less than 30 characters long.</div> 
     </div> 
     </md-input-container> 
+1

aynı adı başvurmak çünkü hata iletisinde her zaman kırmızı renkte olduğunu olacak adını değiştirmek zorunda kalmazsınız Dinamik olarak değiştirmek için. Şimdi, isim her kayıt için farklıdır. Yeni eklenen metin kutusunu varsayılan yerine kırmızı yerine göstermek için çalışmaz. Aynı sorunu alıyorum. –

+0

Lütfen kodunuzu paylaşın –

+0

Kodumu kod kalemime ekledim. Burada bulabilirsiniz. http://codepen.io/ashok123osm/pen/YpRLEd –