5

क्या रिमोट विधि से डेटा जमा करने से पहले, क्लाइंट पर एमवीसी 3 अविभाज्य रिमोट सत्यापन में हुक करने का कोई तरीका है, और परिणामस्वरूप दूरस्थ विधि से वापस आ गया है?एमवीसी अविभाज्य रिमोट सत्यापन के लिए इवेंट हुक

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

अगर मैं पहले की घटना में हुक कर सकता हूं, तो मैं उस फॉर्म में एक फ़ील्ड सेट कर सकता हूं जो सबमिट बटन को क्लिक या क्लिक नहीं करता है। हालांकि रिमोट विधि सत्यापन परिणाम लौटने के बाद मुझे इस ध्वज को रीसेट करने की आवश्यकता होगी।

कोई अन्य सुझाव? यह ASP.NET सदस्यता प्रदाता के Membership.ValidateUser(string username, string password) विधि का उपयोग कर पासवर्ड को सत्यापित करने के लिए है। इस विधि FailedPasswordAttemtCount हर बार एक अवैध पासवर्ड भेज दिया जाता है तब बढ़ेगी, तो मैं यह कलंक, कुंजी दबाने, आदि के दौरान निष्पादित करने के लिए नहीं करना चाहती

उत्तर

7

आप वर्तमान पृष्ठ के लिए डिफ़ॉल्ट सत्यापन विकल्प रद्द कर सकते थे:

$.validator.setDefaults({ 
    onkeyup: false, 
    onfocusout: false, 
    onsubmit: true 
}); 
+0

डिफ़ॉल्ट सेटिंग्स को ओवरराइड नहीं करना अन्य रूपों को प्रभावित करता है? या डिफ़ॉल्ट रूप से लोड किए गए पृष्ठ पर डिफ़ॉल्ट रूप से केवल दायरे को सेट करता है? – danludwig

+0

वर्तमान में लोड किए गए पृष्ठ का केवल दायरा। –

+0

यह वास्तव में सबसे अच्छा समाधान है, धन्यवाद। बस मेरी जिज्ञासा को पूरा करने के लिए, मेरे प्रश्न का उत्तर है "कोई नहीं है" या "यह आसान नहीं है"? – danludwig

0

उपरोक्त समाधान ने मेरे लिए यह हल नहीं किया है। किसी भी तरह, सत्यापनकर्ता सेटिंग सेट नहीं की जा रही थी। इसलिए, मैंने निम्नलिखित को कार्यान्वित किया और यह काम किया:

$(function() { 
    var settings = $.data($('form')[0], 'validator').settings; 
    settings.onkeyup = false; 
}); 
संबंधित मुद्दे