2016-01-20 12 views
6

कोणीय 2 (बीटाए 0) में टेम्पलेट ड्राइव बनाम मॉडल संचालित फॉर्म के फायदे और नुकसान देख रहे हैं, मैं सोच रहा हूं कि एक साधारण पाठ इनपुट क्षेत्र से एक कस्टम सत्यापन कैसे जोड़ा जा सकता है टेम्पलेट संचालित फॉर्म। इस दृष्टिकोण के लिए कोई उदाहरण नहीं है (इसके बगल में) या मुझे नहीं मिला।कोणीय में 0 टेम्पलेट संचालित फॉर्म

<form #f="ngForm"> 
    <label for="name">Name</label> 
    <input type="text" ngControl="name" [(ngModel)]="obj.name" #name="ngForm"> 
    <button type="button" (click)="save()">Save</button> 
</form> 

एक उदाहरण सत्यापन समारोह के रूप में:

validate(control:Control):ValidationResult { 
    if (control.value === 'Monkey') { 
     return { invalidName: true } 
    } 
} 

ऊपर सत्यापन समारोह एक मॉडल प्रेरित फार्म FormBuilder का उपयोग करने में उपयोग करते हुए काम करता है। टेम्पलेट संचालित दृष्टिकोण का उपयोग करके यह कैसे किया जा सकता है?

एक उत्तर "यह संभव नहीं है और भविष्य में भी नहीं होगा।" या "यह सबसे अच्छा अभ्यास नहीं है, मॉडल संचालित दृष्टिकोण के साथ जाओ।" एक तर्क के साथ मेरे साथ ठीक से अधिक होगा। (मुझे पहले से ही लगता है कि वेब पर कोई सबूत नहीं है लेकिन मैं मॉडल संचालित दृष्टिकोण को और अधिक पसंद करता हूं।)

+1

देखने के लिए कि इस मदद करता है: http://blog.ng-book.com/the-ultimate-guide-to-forms-in -ंगुलर -2/ – Langley

+1

यहां एक नज़र डालें ... http://stackoverflow.com/q/34350049/5043867 –

+0

दुर्भाग्य से फॉर्मबिल्डर का उपयोग करने वाले कुछ उदाहरण हैं। मैं सोच रहा हूं कि क्या मैं एक वैधकर्ता संलग्न कर सकता हूं जब मैं 'ngControl = "नाम" निश्चित रूप से परिभाषित करने जा रहा हूं? –

उत्तर

2

टेम्पलेट संचालित रूपों में आपको कस्टम सत्यापनकर्ता के लिए निर्देश बनाने और इनपुट तत्व में जोड़ने की आवश्यकता है एचटीएमएल विशेषता की तरह (उसी तरह से आप required विशेषता जोड़ना चाहते हैं)।

आप कैसे कस्टम प्रमाणकों के लिए निर्देशों बनाने के लिए पर इस लेख पढ़ना चाहिए: http://blog.thoughtram.io/angular/2016/03/14/custom-validators-in-angular-2.html

संबंधित मुद्दे