2015-03-31 6 views
6

मैं अपने ऐप्स को कोणीय-सामग्री के साथ लॉगिन फॉर्म बना रहा हूं और अपने पृष्ठ पर उदाहरणों की तुलना में इसे थोड़ा अलग तरीके से उपयोग करने की कोशिश कर रहा हूं। मैं चाहता हूं कि जरूरी फ़ील्ड केवल मुझ पर चिल्लाएं, यदि उपयोगकर्ता फ़ील्ड भरने के बिना सबमिट करने का प्रयास करता है। शायद बटन को अक्षम भी करें? भले ही, उपयोगकर्ता केवल एक फ़ील्ड भरता है और एंटर दबाता है, मैं यह दिखाना चाहता हूं कि "यह आवश्यक है"। अभी यह सिर्फ है यह पता चलता है हर समय जब तक आप इसे भरेंकोणीय, भौतिक रूप केवल कहने के लिए फ़ील्ड आवश्यक है

यहाँ मैं क्या है: https://jsfiddle.net/5b1tsm2a/6/

मैं तो जैसे उनके उदाहरण पेज से कोड कोशिश कर रहा हूँ -

<form ng-submit="authenticate()" name="loginForm"> 
     <md-input-container> 
      <label>Username</label> 
      <input name="name" reauired ng-model="loginInfo.username"> 
      <div ng-messages="projectForm.description.$error"> 
       <div ng-message="required">This is required.</div> 
      </div> 
     </md-input-container> 

     <md-input-container> 
      <label>Password</label> 
      <input name="password" reauired type="password" ng-model="loginInfo.password"> 
      <div ng-messages="projectForm.description.$error"> 
       <div ng-message="required">This is required.</div> 
      </div> 
     </md-input-container> 

     <md-button ng-click="authenticate()" class="md-primary btn btn-primary">Login</md-button> 
    </form> 

तो मैं मैं नीचे दिए गए एनजी-संदेशों के साथ आवश्यक तर्क का उपयोग कर रहा हूं। मैं केवल यह दिखाना चाहूंगा कि क्या उन्होंने कुछ भी भरने के बिना सबमिट करने का प्रयास किया है। धन्यवाद!

+0

[कोणीय में रूपों] के लिए सुझाव प्रलेखन (https://docs.angularjs.org/api/ng/directive/form)। इसके अलावा टाइपो "reauired" हैं। – ryanyuyu

उत्तर

5

अद्यतन नीचे के रूप में अपने कोड:

<form ng-submit="authenticate()" name="loginForm"> 
     <md-input-container> 
      <label>Username</label> 
      <input name="username" ng-model="loginInfo.username" required/> 
      <div ng-messages="loginForm.username.$error" ng-if='loginForm.username.$dirty'> 
       <div ng-message="required">This is required.</div> 
      </div> 
     </md-input-container> 

     <md-input-container> 
      <label>Password</label> 
      <input name="password" type="password" ng-model="loginInfo.password" required/> 
      <div ng-messages="loginForm.password.$error" ng-if='loginForm.password.$dirty'> 
       <div ng-message="required">This is required.</div> 
      </div> 
     </md-input-container> 
     <md-button type="submit" class="md-primary btn btn-primary">Login</md-button> 
</form> 
+1

धन्यवाद! क्या यह दिखाने का कोई तरीका है कि यदि आप कुछ भी नहीं भरते हैं तो दोनों आवश्यक हैं - ऐसा लगता है कि शीर्ष (नाम) केवल तभी जरूरी है जब आप दोनों खाली छोड़ दें। –

+0

जब आप एकाधिक इनपुट फ़ील्ड में "आवश्यक" विशेषता रखते हैं, तो आवश्यक संदेश अनुक्रम में दिखाई देंगे क्योंकि फ़ील्ड होते हैं। यह पहले गलत व्यवहार है। हाँ, आप बदल सकते हैं। कोणीय की मदद से वर्ष कस्टम सत्यापन का प्रयोग करें। इसे जांचें: http://www.ng-newsletter.com/posts/validations.html – nitin

+2

क्या यह काम किया? मैंने सोचा होगा कि आपको फॉर्म पर एक नोवेलिडेट विशेषता शामिल करने और लॉगिनफॉर्म का उपयोग करने की आवश्यकता होगी। $ यह जांचने के बजाय सबमिट किया गया है कि प्रत्येक फ़ील्ड गंदा है या नहीं? – daddywoodland

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