मैं एक निर्देश बनाने की कोशिश करता हूं जो किसी इनपुट फ़ील्ड को अमान्य के रूप में चिह्नित करते समय कुछ क्रियाओं को छूना चाहिए। इस उदाहरण के लिए देता है मान मैं एक निर्देश जो की जाँच करता है, तो इनपुट अभाज्य संख्या है, और मैं एक निर्देश जो तत्व जब यह अवैध है करने के लिए एक वर्ग कहते हैं बनाना चाहते हैं:कोणीय जेएस निर्देश घड़ी वैधता
<input type="text" ng-model="primeNumber" validate-prime invalid-add-class="error">
सत्यापित करें-प्राइम का उपयोग करता है मॉडल की वैधता को अद्यतन करने के लिए एनजी मॉडल पर पार्सर्स और फॉर्मेटर्स।
अब मैं अमान्य-एड-क्लास निर्देश चाहता हूं कि मॉडल अमान्य होने पर वर्ग "त्रुटि" जोड़ने के लिए और वैध होने पर इसे हटाने के लिए। दूसरे शब्दों में, इसे मॉडल नियंत्रक की $ मान्य (या $ अमान्य) संपत्ति देखना चाहिए। हालांकि, मैं यह नहीं समझ सकता कि यह काम कैसे प्राप्त करें। मैंने कोशिश की:
link : function(scope, element, attrs, ctrl) {
ctrl.$watch("$valid", function(newVal, oldVal) {
//never fired
});
}
शायद मैं कुछ चरम पर देख सकता हूं, लेकिन मुझे नहीं पता कि किस चर के लिए देखना है।
तो मॉडल की वैधता कब बदलती है तो मुझे कैसे सूचित किया जा सकता है? यदि आप एक <form>
है, तो
यदि आप अपना निर्देश साझा कर सकते हैं तो यह अच्छा होगा! –
मुझे याद नहीं है कि मैंने वास्तव में इसका क्या उपयोग किया है, लेकिन कैओटोऑन का दूसरा समाधान पहले से ही संपूर्ण लिंक फ़ंक्शन है। वैधता में परिवर्तन होने पर केवल दूसरे कार्य का शरीर ही आप जो भी कार्य करना चाहते हैं उसे भरना चाहिए। – Tiddo