2015-11-16 10 views
9

सब कुछ क्या है, यहां कुल AngularJS नोब और कुछ उत्तरों की तलाश है।एक ही पृष्ठ पर कई रूपों/सत्यापनों को सेट करना

मैं एक पेज इतनी तरह की स्थापना की है:

<form name="mainForm" class="content" ng-app="pathForm" ng-controller="FormControl" novalidate> 

    <div class="full-page open" id="form1"> 
    <!-- Form 1 content here --> 
    </div> 

    <div class="full-page" id="form2"> 
    <!-- Form 2 content here --> 
    </div> 

    <div class="full-page" id="form3"> 
    <!-- Form 3 content here --> 
    </div> 

    <div class="full-page" id="form4"> 
    <!-- Form 4 content here --> 
    </div> 

</form> 

जहां इन रूपों में से प्रत्येक आदानों का सत्यापन करना होगा कि अपने स्वयं के सेट है। मैं सभी चार रूपों में सत्यापन को प्राप्त करने में सक्षम हूं, क्योंकि मैंने सभी 4 रूपों को कवर करने वाला एक एनजी-एप स्थापित किया है। सबमिट करने पर, एक स्क्रिप्ट ओपन फॉर्म से 'ओपन' क्लास को हटा देती है, एनक्स्ट फॉर्म में चक्र और उस फॉर्म पर ओपन क्लास जोड़ती है।

मैं इसे कैसे सेट कर सकता हूं ताकि इनमें से प्रत्येक रूप को व्यक्तिगत रूप से सत्यापित किया जा सके?

अग्रिम धन्यवाद।

उत्तर

9

आपको ngForm directive और FormController की आवश्यकता है।

इस निर्देश में नाम के साथ प्रत्येक एनजी-फॉर्म निर्देश $scope पर संपत्ति जोड़ता है। सबमिट बटन क्लिक द्वारा बुलाए गए फ़ंक्शन में आप इस प्रॉपर्टी (यह ऑब्जेक्ट, फॉर्म कंट्रोलर का उदाहरण) एक्सेस कर सकते हैं।

इस ऑब्जेक्ट में कुछ गुण और विधियां हैं। अपने फॉर्म की सत्यापन स्थिति प्राप्त करने के लिए आपको संपत्ति $valid (या $invalid) की आवश्यकता है।

HTML:

<ng-form name="form1"></ng-form> 
<ng-form name="form2"></ng-form> 
<button ng-click="submit();">Submit</button> 

जे एस:

$scope.submit = function() { 
    if ($scope.form1.$valid && $scope.form2.$valid) {} 
} 

कस्टम सत्यापनकर्ताओं निर्मित प्रमाणकों आप अपने स्वयं के कस्टम प्रमाणकों जोड़ सकते हैं enought नहीं कर रहे हैं।

so.com पर docs और this post देखें।

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