2010-10-13 12 views
12

JQuery सत्यापन प्लगइन का उपयोग करके, मैं स्क्रीन पर त्रुटि संदेशों को प्रदर्शित करने के दुष्प्रभावों के बिना .valid() विधि को कॉल करने का प्रयास कर रहा हूं। मुझे कोई सफलता के साथ परिदृश्यों की संख्या की कोशिश की है, मेरा नवीनतम जा रहा है:Jquery प्रमाणीकरण: त्रुटि प्रदर्शित किए बिना मान्य कॉल करें?

$('#signup').validate({ 
      showErrors: function() { return; }, 
      errorElement: "", 
      errorClass: "", 
      errorPlacement: function() { }, 
      invalidHandler: function() { }, 
      highlight: function(element, errorClass) { }, 
      unhighlight: function(element, errorClass) { } 
     }); 

$('#displayPurposes').text("Valid: " + $("#EMailAddress_EmailAddress").valid()); 

जबकि .valid() कॉल सही ढंग से काम कर रहा है यह अभी भी त्रुटि संदेश प्रदर्शित करने में दुष्प्रभाव उत्पन्न कर रहा है।

मैं यह नहीं करना चाहता, कृपया मदद करें।

उत्तर

-4

प्लगइन द्वारा किए गए किसी भी त्रुटि प्लेसमेंट को अक्षम करने की कोशिश करने के बजाय आप सीएसएस का उपयोग 'बल' को त्रुटि संदेश तत्वों को छिपाने के लिए कर सकते हैं। की तरह कुछ:

label.myvalidationclass { display: none !important; } 

कहाँ myvalidationclass या तो डिफ़ॉल्ट त्रुटि वर्ग के नाम या अपना खुद का है।

मुझे पता है कि यह एक बहुत अच्छा समाधान नहीं है, लेकिन मेरी राय में, त्रुटि संदेशों को प्रदर्शित करना प्लगइन की मुख्य विशेषता है।

डी।

+0

क्षमा याचना, लेकिन अगर मुझे याद है मैं सीएसएस हैकिंग के लिए इसी तरह कुछ के साथ खत्म किया । – soul

47

आप checkForm() पर कॉल करके सीएसएस हैक्स का उपयोग किए बिना ऐसा कर सकते हैं।

var isValid = $('#signup').validate().checkForm(); // true|false 

checkForm() यूआई परिवर्तन को गति प्रदान नहीं करता है।

हालांकि, एक तरफ प्रभाव है। फॉर्म फ़ील्ड्स को अब परिवर्तन/फोकस/ब्लर पर मान्य किया जाएगा, जो अवांछित हो सकता है।

$('#signup').validate().submitted = {}; 

कौन सा में परिणाम है:: आप submitted वस्तु रीसेट करके इस व्यवहार को निष्क्रिय कर सकते हैं बहुत देर से स्वीकृति के लिए

var validate = $('#signup').validate(); // Get validate instance 
var isValid = validate.checkForm(); // Valid? 
validate.submitted = {}; // Reset immediate form field checking mode 
+2

+1: यह एक बहुत अच्छा समाधान है, और लचीलापन केवल आवश्यक होने पर संदेशों के बिना मान्य करने की अनुमति देता है। –

+1

यह वह समाधान है जिसका मैंने उपयोग किया था और मैं सभी को सलाह दे सकता हूं। –

+1

क्या यह पता लगाने का कोई तरीका है कि कोई निश्चित इनपुट इसे हाइलाइट किए बिना मान्य है या नहीं? – simaglei

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