2016-06-20 9 views
0

In einer Nachricht von ng-message, wie bekomme ich den Wert in der ng-maxlength eingegeben?
Zum Beispiel:So erhalten Sie den Längenwert von ng-maxlength in ng-message

<form name="myForm"> 
    <input type="text" 
      name="myName" 
      ng-model="name" 
      ng-maxlength="5"/> 

    <div ng-messages="myForm.myName.$error" style="color:maroon" role="alert"> 
    <div ng-message="maxlength">Please enter up to {{??}} characters</div> 
    </div> 
</form> 
+0

eine Variable für die maxlength haben –

Antwort

0

es in einer Variablen eingeben, damit Sie es

<form name="myForm"> 
    <input type="text" 
      name="myName" 
      ng-model="name" 
      ng-minlength="nameConstraint.maxlength"/> 

    <div ng-messages="myForm.myName.$error" style="color:maroon" role="alert"> 
    <div ng-message="maxlength">Please enter up to {{nameConstraint.maxlength}} characters</div> 
    </div> 
</form> 

Es gibt keine andere Möglichkeit, um wieder verwenden können, maxLength Direktive das Attribut maxlength beobachten und die $ Validatoren verwenden die zur Validierung Länge.

Hier ist der Code-Richtlinie der maxlength in Winkel:

var maxlengthDirective = function() { 
    return { 
    restrict: 'A', 
    require: '?ngModel', 
    link: function(scope, elm, attr, ctrl) { 
     if (!ctrl) return; 
     var maxlength = -1; 
     attr.$observe('maxlength', function(value) { 
     var intVal = toInt(value); 
     maxlength = isNaN(intVal) ? -1 : intVal; 
     ctrl.$validate(); 
     }); 
     ctrl.$validators.maxlength = function(modelValue, viewValue) { 
     return (maxlength < 0) || ctrl.$isEmpty(viewValue) || (viewValue.length <= maxlength); 
     }; 
    } 
    }; 
}; 
0

Try Verwendung dieses

<div ng-messages="myForm.myName.$error" style="color:maroon" role="alert"> 
    <div ng-if="name.length <= 5" > 
    Please enter up to {{name.length}} characters 
    </div> 
</div>