Angular2 डिफ़ॉल्ट रूप से cascadingly शीर्ष स्तर जब भी किसी भी रूप तत्व मूल्य के लिए एक अद्यतन नहीं है, जब तक आप कोई कहने के लिए अप प्रपत्र नियंत्रण/फ़ॉर्म समूह वैधता की जांच करेगा। onlySelf
ऐसा करने में आपकी सहायता करने के लिए टूल है।
आप एक loginForm
एक username
क्षेत्र और एक password
क्षेत्र है कि कहो, उन दोनों के लिए आवश्यक हैं, इस तरह:
this.userNameControl = this.formBuilder.control('Harry', Validators.required);
this.passwordControl = this.formBuilder.control('S3cReT', Validators.required);
this.loginForm = this.formBuilder.group({
userName: this.userNameControl,
password: this.passwordControl
});
इस कोड के बाद, this.loginForm.valid
true
है।
आप डिफ़ॉल्ट सेटिंग (onlySelf = false
) का उपयोग कर एक नियंत्रण के मान सेट करते हैं, Angular2 नियंत्रण की मान्यता के साथ ही प्रपत्र समूह की वैधता अद्यतन करेगा। उदाहरण के लिए, इस:
this.passwordControl.setValue('');
this.passwordControl.valid === false
this.loginForm.valid === false
हालांकि में परिणाम होगा, इस:
this.passwordControl.setValue('', { onlySelf: true });
केवल बदल जाएगा passwordControl
के केवल वैधता:
this.passwordControl.valid === false
this.loginForm.valid === true
स्रोत
2016-09-20 23:25:41