2010-05-22 17 views
10

यहां मैं एक फॉर्म को सत्यापित करने का प्रयास करने के लिए वर्तमान में उपयोग कर रहा हूं। जब मैं फ़ॉर्म में दर्ज किए गए मानों के साथ सबमिट नहीं करता हूं, तो मुझे अपेक्षित प्रत्येक इनपुट के लिए त्रुटि संदेश मिलते हैं। हालांकि, कोई फर्क नहीं पड़ता कि मैंने newpassword2 या newemail2 में क्या रखा है, वे कभी भी 'पास' सत्यापन नहीं करते हैं। मैंने कॉपी और पेस्ट से सबकुछ करने की कोशिश की है ताकि उन्हें कोई भी सफलता न हो। शायद मैं बराबर गुण को सही तरीके से उपयोग नहीं कर रहा हूं ...jQuery प्रमाणीकरण प्लगइन + बराबर काम नहीं कर रहा

मैंने यह भी सत्यापित किया है कि चयनकर्ताओं के सभी नाम फ़ॉर्म पर इनपुट आईडी के साथ सहमत हैं। साथ ही, सभी इनपुट फॉर्म के भीतर निहित हैं, इसलिए फ़ॉर्म टैग के बाहर कोई भी नहीं है (मैंने पढ़ा है कि यह किसी और के साथ एक मुद्दा था)।

$(document).ready(function() { 
    $("#account_data").validate({ 
     rules: { 
      newpassword1: { required: true }, 
      newpassword2: { equalTo: "#newpassword1" }, 
      newemail1: { required: true, email: true }, 
      newemail2: { equalTo: "#newemail1" } 
     } 
    }); 
}); 

किसी भी मदद की अत्यधिक सराहना की जाएगी!

आपको धन्यवाद !!!

-Tom-

+0

यह सवाल हल किया गया है ... लगभग द्वारा अच्छा भाग्य। अपडेट के लिए नीचे देखें। –

+2

यदि प्रश्न हल हो गया है, तो आपको उचित समाधान स्वीकार करना चाहिए ... – dule

उत्तर

1

 newpassword1: { required: true }, 
     newpassword2: { required: true,equalTo: "#newpassword1"}, 
     newemail1: { required: true, email: true }, 
     newemail2: { required: true,email: true ,equalTo: "#newemail1" } 

कोशिश या सत्यापन प्लगइन का नवीनतम संस्करण का उपयोग @Tom

अब नियमों के साथ पासवर्ड सही पर सेट की आवश्यकता जा रहा है और दूसरी शर्त के लिए है जोड़ लिया है password_again को सत्य की आवश्यकता है और इसे पासवर्ड के आईडी के साथ इनपुट फ़ील्ड को "बराबर" करना होगा। इन स्थितियों के सेट के साथ, हम जो हासिल कर रहे हैं उसे हासिल करने में सक्षम हैं। यह कैसे काम करता है यह देखने के लिए पोस्ट के डेमो को देखना न भूलें। इस प्लगइन पर अधिक दस्तावेज़ीकरण और संसाधन के लिए jQuery सत्यापन प्लगइन

+2

क्या आप जानते हैं? मुझे यह ठीक उसी कोड के साथ काम करने के लिए मिला जो मैंने अपनी मूल पोस्ट में पोस्ट किया था। मैंने जो भी बदल दिया वह फॉर्म इनपुट के लिए एक आईडी और नाम दोनों का उपयोग कर रहा था। मुझे नहीं पता कि यह आवश्यक है, हालांकि, अगर नाम सही ढंग से याद करता है तो नाम (एक्स) एचटीएमएल सख्त में मान्य नहीं है। भले ही, सत्यापन प्लगइन ठीक काम कर रहा है, और मेरा प्रश्न अब अप्रचलित है ... अपना समय बर्बाद करने के लिए खेद है! बीटीडब्ल्यू, मैंने आपके द्वारा सुझाए गए अन्य विशेषताओं में जोड़ा और यह अभी भी ठीक काम करता है! आपकी मदद के लिए धन्यवाद !!! -Tom- –

3

मुझे टॉम के समान समस्या थी। समाधान पासवर्ड फ़ील्ड के नामों से मेल खाने वाले पासवर्ड फ़ील्ड के लिए एक आईडी बनाना था। (जैसा कि टॉम द्वारा उल्लेख किया गया है)। निश्चित रूप से सत्यापन कोड में एक बग, क्योंकि यह सिर्फ नाम फ़ील्ड पर भरोसा करना चाहिए। ओह अच्छा ...

-Greg

7

equalTo का उपयोग करते समय आप प्रपत्र नाम और आईडी का उपयोग करने के लिए है। E.g:

<input type="password" name="password" id="password" value="" /> 
<input type="password" name="password_mirror" value="" /> 

$("#register_user").validate({ 
     rules: { 
      'password_mirror': { 
       minlength: 5, 
       equalTo: "#password" 
      } 
     }, 
     messages: { 
      'password_mirror': { 
       minlength: "Your password must be at least 5 characters long", 
       equalTo: "Please enter the same password as above" 
      } 
     } 
    }); 
17

यदि आप आईडी = "पासवर्ड" का उपयोग करेंगे तो यह काम नहीं करेगा। आपको आईडी के लिए एक और नाम का उपयोग करना होगा।

नियमों के सभी कुंजियों का उपयोग "equalTo" हम निम्नलिखित बातों का ध्यान रखना करने की जरूरत है इससे पहले कि input.name और नहीं input.id

+0

शानदार! धन्यवाद। –

+1

कोई स्पष्टीकरण? मैं नहीं देख सकता कि स्रोत कोड पढ़ने के बाद क्यों। – youzipi

+0

मैं भी –

0

का उल्लेख वस्तु: इनपुट तत्व नाम के लिए अलग अलग शब्द

  1. उपयोग और आईडी। इनपुट तत्व नाम के बजाय "equalTo" मैच में

  2. उपयोग इनपुट एलीमेंट आईडी:

<html> 
 
<head> 
 
    <title></title> 
 
    <script src="jquery-1.12.0.min.js"></script> 
 
    <script src="jquery.validate.min.js"></script> 
 
    <script> 
 
      $(document).ready(function(){ 
 
        $('#btnSubmit').click(function(){ 
 
         $("form").validate({ 
 
         rules: { 
 
          pwd: { 
 
           required: true, 
 
           minlength : 6 
 
          }, 
 
          conf_pwd: { 
 
            required: true, 
 
            minlength : 6, 
 
            equalTo: "#id_pwd" 
 
           } 
 
         }, 
 
         messages: { 
 
           pwd: { 
 
            required: "Please enter the password.", 
 
            minlength: "Your password must be at least 6 characters long" 
 
           }, 
 
           conf_pwd: { 
 
           required: "Please enter the confirm password.", 
 
           minlength: "Your password must be at least 6 characters long", 
 
           equalTo: "Please enter the same password as above" 
 
           } 
 
         }, 
 
         submitHandler: function(form) { 
 
           form.submit(); 
 
         } 
 
      }); 
 
        }); 
 
      }); 
 
    </script> 
 
</head> 
 
<body> 
 
     <div> 
 
     <form id="data" action="" method="post"> 
 
     <div class="form-group row"> 
 
     <label>Password:</label> 
 
      <div> 
 
      <input id="id_pwd" name="pwd" type="password" /> 
 
      </div> 
 
     </div> 
 
     <div> 
 
     <label>Confirm Password:</label> 
 
      <div> 
 
      <input id="id_conf_pwd" name="conf_pwd" type="password" /> 
 
      </div> 
 
     </div> 
 
     <div> 
 
     <div> 
 
      <div> 
 
\t \t  <input type="submit" id="btnSubmit" name="submit" value="Reset Password"> 
 
\t  </div> 
 
     </div> 
 
     </div> 
 
    </form> 
 
     </div> 
 
</body> 
 
</html>

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