Angular 2
Angular2 कस्टम मान्यताओं
खोज…
पैरामीटर
पैरामीटर | विवरण |
---|---|
नियंत्रण | यह वह नियंत्रण है जिसे मान्य किया जा रहा है। आमतौर पर आप यह देखना चाहेंगे कि क्या control.value कुछ मानदंडों को पूरा करता है। |
कस्टम सत्यापनकर्ता उदाहरण:
कोणीय 2 में दो प्रकार के कस्टम सत्यापनकर्ता हैं। पहले उदाहरण के रूप में तुल्यकालिक सत्यापनकर्ता जो सीधे क्लाइंट और अतुल्यकालिक सत्यापनकर्ताओं (दूसरा उदाहरण) पर चलेंगे जिन्हें आप अपने लिए सत्यापन करने के लिए दूरस्थ सेवा को कॉल करने के लिए उपयोग कर सकते हैं। इस उदाहरण में सत्यापनकर्ता को सर्वर को यह देखने के लिए कॉल करना चाहिए कि क्या मूल्य अद्वितीय है।
export class CustomValidators {
static cannotContainSpace(control: Control) {
if (control.value.indexOf(' ') >= 0)
return { cannotContainSpace: true };
return null;
}
static shouldBeUnique(control: Control) {
return new Promise((resolve, reject) => {
// Fake a remote validator.
setTimeout(function () {
if (control.value == "exisitingUser")
resolve({ shouldBeUnique: true });
else
resolve(null);
}, 1000);
});
}}
यदि आपका नियंत्रण मूल्य मान्य है, तो आप बस कॉल करने वाले को वापस कर देंगे। अन्यथा आप एक वस्तु वापस कर सकते हैं जो त्रुटि का वर्णन करता है।
फॉर्म बिल्डर में सत्यापनकर्ताओं का उपयोग करना
constructor(fb: FormBuilder) {
this.form = fb.group({
firstInput: ['', Validators.compose([Validators.required, CustomValidators.cannotContainSpace]), CustomValidators.shouldBeUnique],
secondInput: ['', Validators.required]
});
}
यहां हम दो इनपुट बॉक्स के साथ एक बहुत ही मूल रूप बनाने के लिए FormBuilder का उपयोग करते हैं। FromBuilder प्रत्येक इनपुट नियंत्रण के लिए तीन तर्कों के लिए एक सरणी लेता है।
- नियंत्रण का डिफ़ॉल्ट मान।
- सत्यापनकर्ता जो क्लाइंट पर चलेगा। अपने नियंत्रण पर कई सत्यापनकर्ता लागू करने के लिए आप Validators.compose ([arrayOfValidators]) का उपयोग कर सकते हैं।
- एक या एक से अधिक async सत्यापनकर्ता दूसरे तर्क के समान शैली में।
मिल / सेट फ़ॉर्मब्यूलर नियंत्रण पैरामीटर
फ़ॉर्म सेट करने के 2 तरीके हैंब्यूरी कंट्रोल पैरामीटर।
- आरंभ करने पर:
exampleForm : FormGroup;
constructor(fb: FormBuilder){
this.exampleForm = fb.group({
name : new FormControl({value: 'default name'}, Validators.compose([Validators.required, Validators.maxLength(15)]))
});
}
2. प्रारंभिक के बाद:
this.exampleForm.controls['name'].setValue('default name');
प्रपत्र नियंत्रण नियंत्रण मूल्य प्राप्त करें:
let name = this.exampleForm.controls['name'].value();