कोणीय कस्टम सत्यापन के लिए FormArray क्षेत्रों (प्रतिक्रियाशील के रूप में)

0

सवाल

मैं नया हूँ कोणीय करने के लिए और जांच करने के लिए मैं कैसे जाने के बारे में प्रदर्शन कस्टम फ़ील्ड सत्यापन के लिए FormArray?

के FormArray गतिशील है, जहां आप धक्का कर सकते हैं या निकालें FormGroup आइटम नहीं है. के FormGroup के होते हैं field1, field2, field3. यदि या तो एक क्षेत्र रिक्त नहीं है, अन्य क्षेत्रों में स्थापित किया जाना चाहिए के साथ validators.की आवश्यकता है । फार्म मान्य होगा अगर सभी क्षेत्रों रहे हैं या तो शून्य या ।

धन्यवाद.

नीचे दिए गए कोड नमूना:

formA!: FormGroup;

initializeForm(): void {
    this.formA = this.fb.group({
      item1: this.fb.array([this.createItem1()]),
      item2: this.fb.array([this.createItem2()]),
    });
  }

createItem1(): FormGroup {
   return this.fb.group({
       field1: null,
       field2: null,
       field3: null,
   });
}

1

सबसे अच्छा जवाब

0

इस प्रयास करें ।

createItem1(): FormGroup {
  const fg = this.fb.group({
      field1: null,
      field2: null,
      field3: null,
  });
   
  const validatorFn = (control: AbstractControl): { [key: string]: any } | null => {
    const obj = fg.getRawValue();
     
    if (obj.field1 || obj.field2 || obj.field3) {
      return Validators.required(control);
    }
     
    return null;
  };
   
  for (const control of Object.values(fg.controls)) {
    control.setValidators(validatorFn);
  }

  return fg;
}

इसके अलावा, आप की आवश्यकता होगी निष्पादित करने के लिए updateValueAndValidity() के लिए सभी नियंत्रण जब कुंजी दबाया जाता है ।

2021-11-25 00:55:40

हाय, मैं का सामना करना पड़ा नीचे पर 'fg.'नियंत्रण जब इस की कोशिश कर रहा. संभव सलाह देने के लिए? प्रकार '{ [कुंजी: स्ट्रिंग]: AbstractControl; }' होना चाहिए '[प्रतीक है । iterator]()' विधि देता है कि एक इटरेटर.टीएस(2488)
braveducky

फिक्स्ड मेरा जवाब. कृपया फिर से जाँच करें.
N.F.

हाय, मदद के लिए धन्यवाद. मैं था कुछ परिवर्तन फिट करने के लिए अपने मामले का उपयोग करें और जोड़ा गया अतिरिक्त शर्त स्पष्ट करने के लिए validators की आवश्यकता नहीं है जब. कुल मिलाकर, यह काम करता है के अंत में.
braveducky

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में