मेरे पास एक ऐसा फॉर्म है जहां मैं फोन नंबर (मोबाइल, व्यक्तिगत, अन्य) एकत्र कर रहा हूं। मुझे कम से कम इनपुट आबादी की आवश्यकता है। मैं Angular2 Formbuilder का उपयोग करने की कोशिश कर रहा हूँ।कोणीय 2 फॉर्मबिल्डर Validatiors: एक समूह में कम से कम एक फ़ील्ड भरने की आवश्यकता है
अधिक शोध के बाद मुझे इस समस्या के आसपास अपना सिर प्राप्त करने में समस्या हो रही है। मुझे पता है कि मैं इसे अन्य तरीकों से उपयोग कर सकता हूं लेकिन मैं सोच रहा था कि फॉर्मबुल्डर सत्यापनकर्ताओं का उपयोग करना संभव है या नहीं। अगर मैं "Validators.required" जोड़ता हूं तो सभी 3 फ़ील्ड आवश्यक हैं। कोई सुझाव या विचार?
मेरे समूह सत्यापनकर्ता (यह अभी भी फेरबदल की जरूरत है): "जेबी Nizet" से संकेत पर
phone: this._fb.group(
{
other: [''],
personal: [''],
mobile: [''],
}
बेस, यहाँ क्या मैं इसे काम करने के लिए लागू करने के लिए किया था है
static phoneExists(group: FormGroup): { [key: string]: any } {
if (null != group) {
var other: AbstractControl = group.controls['other'];
var mobile: AbstractControl = group.controls['mobile'];
var personal: AbstractControl = group.controls['personal'];
var data: Object = group.value;
return (
(other.valid && isEmptyInputValue(other.value))
&& (mobile.valid && isEmptyInputValue(mobile.value))
&& (personal.valid && isEmptyInputValue(personal.value))
)
? { 'required': true }
: null;
}
}
मेरे समूह परिवर्तन:
phone: this._fb.group(
{
other: [''],
personal: [''],
mobile: [''],
},
{ validator: MyValidators.phoneExists }
)
मुझे थोड़ी देर लग गई, लेकिन कुंजी शब्द "सत्यापनकर्ता" जोड़ना है और यह समूह va का कारण बन जाएगा आग लगाने के लिए लिडरेटर।
<small *ngIf="!myForm.controls.profile.controls.phone.valid" class="text-danger">
At least one phone is required.
</small>
मुझे आशा है कि किसी और इस मदद किसी को भी:
HTML में मैं निम्नलिखित गयी।
आप समूह पर ही एक सत्यापनकर्ता को निर्दिष्ट करने की जरूरत है, और इस सत्यापनकर्ता इसके नियंत्रण के कम से कम एक एक मूल्य है कि जाँच करने के लिए की जरूरत है। –
यह [** ट्यूटोरियल **] (https://scotch.io/tutorials/how-to-implement-conditional- validation-in-angular-2-model-driven-forms) उपयोगी हो सकता है। – developer033
संकेत के लिए जेबी निजेट धन्यवाद। – Manny