2015-03-04 22 views
5

मैं एमवीसी 4 का उपयोग कर रहा हूं और मैं एक पंक्ति में पंक्तियों के संग्रह से एक पंक्ति को सत्यापित करने में सक्षम होना चाहता हूं, यह सुनिश्चित करने के लिए कि फ़ील्ड सही तरीके से दर्ज की गई हैं और सत्यापन पास करें ।बटन पर क्लाइंट साइड सत्यापन AJAX अनुरोध

गुण सही ढंग से, मॉडल पर लागू होते हैं, उदाहरण के लिए:

[Required] 
[MaxLength(50)] 
[MinLength(5)] 
public string Name {get; set;} 

अब, ग्राहक के पक्ष - कैसे मैं एक AJAX विधि कॉल करने से पहले ग्राहक साइड सत्यापन सक्षम करूं?

अधिक जटिलताओं को जोड़ने के लिए - मेरे पास एक बटन है जहां आप तालिका में गतिशील रूप से एक पंक्ति जोड़ सकते हैं, फ़ील्ड भर सकते हैं और आखिरकार अद्यतन बटन दबा सकते हैं, जो AJAX के माध्यम से एक पोस्ट करेगा। लेकिन इस पोस्ट से पहले, मैं उस विशेष पंक्ति को क्लाइंट साइड पर मान्य करना चाहता हूं।

मैं यह कैसे कर सकता हूं?

आप

उत्तर

7

धन्यवाद जब तक आप अपने दृश्य में मान्यता सहायकों लागू कर रहे हैं, यह वास्तव में बहुत सरल है।

var form = $('#form'); 
$.validator.unobtrusive.parse(form); 
form.validate(); 

if (form.valid()) { 
    .... ajax stuff 
} 

कॉल http अनुरोध भेजने और यह सुनिश्चित करें कि आपके प्रपत्र मान्य है कर देगा से पहले ऊपर।

+0

धन्यवाद! तो यह लगभग काम करता है। मुझे एक समस्या है जहां एक स्ट्रिंग की आवश्यकता होती है लेकिन इसमें 5 वर्णों का न्यूनतम और अधिकतम 100 होना चाहिए। यदि मैं <5 दर्ज करता हूं, तो मुझे क्लाइंट पक्ष पर कोई सत्यापन त्रुटियां नहीं मिलती हैं लेकिन सर्वर की ओर से होती हैं। जब मैं टेक्स्टबॉक्स में कुछ भी नहीं डालता, क्लाइंटसाइड कार्यों पर सत्यापन। विचार? यह डीओएम पर स्पॉट आउट हो रहा है:

+0

हम्म, क्या आपने '[स्ट्रिंग लम्बाई (50, न्यूनतम लम्बाई = 5)]' का उपयोग करने का प्रयास किया है? –

+0

ठीक है, क्योंकि यह एक अलग मुद्दा है, एक नया प्रश्न बनाएं और अपना व्यू कोड, अपनी कंट्रोलर एक्शन और अपनी संशोधित जावास्क्रिप्ट शामिल करें :) अगर मेरा जवाब आपके "कोई सत्यापन" समस्या हल नहीं करता है तो मैं स्वीकार करने की सराहना करता हूं! –

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