2008-09-14 15 views
14

वर्षों से जावास्क्रिप्ट से बचने की कोशिश करने के बाद, आईवी ने एमवीसी एएसपीनेट में validation के लिए JQuery का उपयोग शुरू किया, क्योंकि सत्यापन करने का आधिकारिक तरीका प्रतीत नहीं होता है, Iv आश्चर्यचकित है कि JQuery कितना अच्छा है।MVC.net JQuery प्रमाणीकरण

सबसे पहले JQuery और इसकी सत्यापन प्लगइन के लिए इंटेलिजेंस काम करने का कोई तरीका है, ताकि मुझे एपीआई सीखना पड़े?

errorLabelContainer: $("#CreateLog div.error") 
:

दूसरी बात मैं इस के लिए एक मान्यता सारांश कैसे बना सकता हूँ, यह वर्तमान में टेक्स्ट बॉक्स .:

<script type="text/javascript"> 
$().ready(function() { 
$("#CreateLog").validate({ 
     rules: {    
      UserName: { 
       required: true, 
       minLength: 2, 

      } 
     }, 
     messages: { 

      UserName: { 
       required: "Please enter a username", 
       minLength: "Your username must consist of at least 2 characters", 

      } 
     } 
    }); 
}); 
</script> 

<form id="CreateLog" action="Create" method="post" /> 
     <label>UserName</label><br /> 
     <%=Html.TextBox("UserName")%> 
     <br /> 
      <div class="error"> </div> 
     <input type=submit value=Save /> 
     </form> 

मैं स्क्रिप्ट को यह जोड़ने की कोशिश की के अधिकार के लिए त्रुटि संलग्न कर देता है

और यह एचटीएमएल:

<div class="error"> </div> 

लेकिन यह काम नहीं किया।

उत्तर

11

अपने विकल्पों में एक रैपर और एक लेबल कंटेनर दोनों निर्दिष्ट करने का प्रयास करें। मैंने डिस्प्ले भी जोड़ा: कोई नहीं; त्रुटि-कंटेनर की शैली के लिए jquery यह तय करने के लिए कि यह कब दिखाना है।

एचटीएमएल:

<div class="error-container"> 
<ul> 
</ul> 
</div> 
<form id="CreateLog" action="Create" method="post" /> 
<label>UserName</label><br /> 
<%=Html.TextBox("UserName")%> 
<br /> 
<input type=submit value=Save /> 
</form> 

स्क्रिप्ट:

<script type="text/javascript"> 
$().ready(function() { 
$("#CreateLog").validate({ 
    errorLabelContainer: $("ul", $('div.error-container')), 
    wrapper: 'li', 
    rules: {    
     UserName: { 
      required: true, 
      minLength: 2, 

     } 
    }, 
    messages: { 

     UserName: { 
      required: "Please enter a username", 
      minLength: "Your username must consist of at least 2 characters", 

     } 
    } 
}); 
}); 
</script> 

यही काम करना चाहिए।

+1

यह उपयोगी है, धन्यवाद। '$ (" Ul "," ul ", $ ('div.error-container') के बजाय' $ ('div.error-container ul') लिखने का कोई कारण नहीं है? –

+0

@ thedeeno क्या हमें "12 " – Adrian

+1

@ Dev11 संख्या के अंत से पहले अतिरिक्त आवश्यकता की आवश्यकता है, लेकिन ecma5 के रूप में यह पूरी तरह से ठीक है। यह जवाब देखें http://stackoverflow.com/a/7246662/1946 –

4

VS2008 में JQuery IntelliSense के लिए एक विजुअल स्टूडियो 2008 हॉटफिक्स है। यह एसपी 1 के साथ भी बंडल किया गया हो सकता है।

1

jquery (और अन्य प्लगइन्स) के लिए इंटेलिजेंस के संबंध में: अपनी खुद की स्क्रिप्ट फ़ाइलों में पूर्ण इंटेलिजेंस होने के लिए, प्रत्येक फ़ाइल के लिए एक बार अपनी .js फ़ाइल के शीर्ष पर निम्न पंक्ति शामिल करें, जिसे आप इंटेलिसेंस से चाहते हैं:

/// <reference path="[insert path to script file here]" /> 

आसान है, लेकिन बहुत ही उपयोगी =)

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