/ / सर्वर साइड सत्यापन, एमवीसी में देखने के लिए त्रुटियों को कैसे पास किया जाए? - जावास्क्रिप्ट, asp.net-mvc, त्रुटि-हैंडलिंग

सर्वर साइड सत्यापन, एमवीसी में देखने के लिए त्रुटियों को कैसे पास किया जाए? - जावास्क्रिप्ट, asp.net-mvc, त्रुटि-हैंडलिंग

.NET एमवीसी का उपयोग करना और मैं अपने एक्शन में कुछ सर्वर साइड सत्यापन कर रहा हूं जो फॉर्म पोस्ट को संभालता है।

त्रुटियों को वापस देखने के लिए एक अच्छी तकनीक क्या है?

मैं एक त्रुटि संग्रह बनाने के बारे में सोच रहा हूं, फिर उस संग्रह को मेरे व्यूडेटा में जोड़ रहा हूं और फिर किसी भी तरह से त्रुटि प्रदर्शित करने के लिए कुछ जावास्क्रिप्ट (jQuery का उपयोग करके) बुनाई कर रहा हूं।

यह अच्छा होगा कि jQuery में एक त्रुटि प्रदर्शित करने का कुछ स्वचालित तरीका था क्योंकि यह एक आम पैटर्न है।

आप क्या करते हैं?

उत्तर:

जवाब के लिए 8 № 1

आप मॉडलस्टेट में त्रुटियों को जोड़ना चाहते हैं @Mehrdad इंगित करता है।

...
catch (ArgumentOutOfRangeException e)
{
ModelState.AddModelError( e.ParamName, e.Message );

result = View( "New" );
}

और अपने दृश्य में प्रमाणीकरण सारांश शामिल करें

<%= Html.ValidationSummary() %>

उत्तर № 2 के लिए 1

ViewData.ModelState नियंत्रक से देखने के लिए राज्य की जानकारी (त्रुटियों) को पारित करने के लिए डिज़ाइन किया गया है।


जवाब के लिए 0 № 3

यह सुनिश्चित नहीं है कि यह आपकी क्या तलाश है लेकिन jquery के लिए फॉर्म सत्यापन प्लगइन का उपयोग करना बहुत आसान है http://bassistance.de/jquery-plugins/jquery-plugin-validation/। यह स्वचालित रूप से लाल संदेशों में लाल संदेश प्रदर्शित करता है।

आपको अभी भी सर्वर साइड सत्यापन करना है, और त्रुटियों को वापस पास करना है। tvanfosson आपको दिखाया कि कैसे उसके जवाब में।


जवाब के लिए 0 № 4

मैं बिल्टिन का उपयोग करता हूं ModelState ऑब्जेक्ट मेरी सत्यापन त्रुटियों को पकड़ो। प्रमाणीकरण या तो बाध्यकारी या हाथ से मैन्युअल रूप से इस तरह की त्रुटियों को जोड़कर समर्थित किया जाता है:

ModelState.AddModelError("LastName","Last name can"t be Doe").

AJAX फॉर्म पोस्ट परिदृश्य का समर्थन करने के लिए, मैंने ModelStateDictionary को एक विस्तार विधि बनाई है, GetErrors(), जो एक प्रकाश देता है ModelStateErrorsDTO ऑब्जेक्ट (जेएसएस क्रमबद्धता के लिए उपयुक्त मॉडलस्टेट की सत्यापन त्रुटियों का एक फ़्लैटेड संस्करण)।

जब कोई फॉर्म पोस्ट अजाक्स अनुरोध होता है तो मैं एक जेसन क्रमबद्ध करता हूं ModelStateErrorsDTO.

Jquery तरफ मैंने एक सहायक समारोह लिखा है जो डिफ़ॉल्ट एमवीसी सीएसएस कक्षाओं का उपयोग कर प्रासंगिक इनपुटफील्ड के बगल में सत्यापन त्रुटियों को रखता है, यानी। input-validation-error.

इस तरह आप प्रमाणीकरण संदेशों के साथ अविभाज्य AJAXforms बनाने में सक्षम हो जाएगा।

उम्मीद है की यह मदद करेगा।


उत्तर के लिए -1 № 5

हां यह अच्छा तरीका है लेकिन फिर भी आप अपने संदेश को त्रुटि संदेश डाल सकते हैं ["कुंजी"] = "पृष्ठ पर त्रुटि ... bla ... bla ... bla ..."

<% if (!string.IsNullOrEmpty(ViewData["key"]+"")) { %>

<div>
Yor customized error template
</div

<% } %>