$pristine/ $dirtyआपको बताता है कि उपयोगकर्ता वास्तव में कुछ भी बदल गया है, जबकि $touched/ $untouchedआपको बताता है कि क्या उपयोगकर्ता केवल वहां गया है / दौरा किया है ।
यह सत्यापन के लिए वास्तव में उपयोगी है। इसका कारण $dirtyहमेशा मान्यता प्रतिक्रियाओं को दिखाने से बचना था जब तक कि उपयोगकर्ता ने वास्तव में एक निश्चित नियंत्रण का दौरा नहीं किया हो। लेकिन, केवल $dirtyसंपत्ति का उपयोग करके , उपयोगकर्ता को सत्यापन प्रतिक्रिया नहीं मिलेगी, जब तक कि वे वास्तव में मूल्य में बदलाव नहीं करते हैं। इसलिए, $invalidयदि उपयोगकर्ता मूल्य में परिवर्तन नहीं करता / करती तो एक फ़ील्ड अभी भी उपयोगकर्ता को संकेत नहीं दिखाती। यदि उपयोगकर्ता ने एक आवश्यक फ़ील्ड को पूरी तरह से अनदेखा कर दिया, तो सब कुछ ठीक लगा।
कोणीय 1.3 और ng-touched, अब आप एक विशेष शैली को नियंत्रण पर सेट कर सकते हैं जैसे ही उपयोगकर्ता ने धुंधला किया है, चाहे वे वास्तव में मूल्य संपादित करें या नहीं।
यहाँ एक CodePen है जो व्यवहार में अंतर दिखाता है।