2014-04-02 8 views
5

के लिए काम नहीं कर रहा है, मैं अपने इनपुट के लिए एक चर अधिकतम अधिकतम लंबाई देने के लिए ng-maxLength निर्देश का उपयोग करने का प्रयास कर रहा हूं।एनजी-अधिकतम लम्बाई एक चर

function ValidatorCtrl($scope, $timeout) { 
    $scope.name = "Star"; 
    $scope.$metadata={}; 
    $scope.$metadata.isRequired = true; 
    $scope.$metadata.maxLength=5; 
} 


    <input type="text" ng-model="name" ng-maxlength="$metadata.maxLength" 
ng-required="$metadata.isRequired" name="name" /> 

लेकिन ऐसा लगता है कि यह अपेक्षा के अनुरूप काम नहीं कर रहा है। जब इसे लागू किया जाता है तो उसी चर के लिए मॉडल बाध्यकारी काम नहीं कर रहा है। Here is my plunker

यदि मैं एनजी-अधिकतम लम्बाई ng-required हटाता हूं तो उम्मीद के अनुसार काम करने जा रहा है, अन्यथा ng-required भी काम नहीं कर रहा है।

+4

मुझे लगता है कि यह एक बग है https://github.com/angular/angular.js/issues/1405 यदि आप सीधे 5 डालते हैं तो यह काम करता है यह काम करने के लिए ng-maxlength = "{{$ metadata.maxLength}}" लगता है – Whisher

+1

'ng-maxlength =" {{$ metadata.maxLength}} "लगता है कि काम कर रहा है –

+0

हाँ एक बग की तरह लगता है। –

उत्तर

1

एनजी-अधिकतम लम्बाई दायरे के मूल्य नहीं लेता है।
परंपरागत रूप से एनजी-अधिकतम लम्बाई का उपयोग ऐसे एनजी-अधिकतम लम्बाई = "3" के रूप में किया जाता है। आप या तो अपने दायरे के मूल्य के चारों ओर घुंघराले ब्रेसिज़ जोड़ सकते हैं या एक निर्देश बना सकते हैं जो एनजी-अधिकतम लम्बाई के अंदर स्कोप मान को बांधता है।

संबंधित मुद्दे