के साथ काम करना बंद कर देता है मैं एक रेगेक्स सत्यापनकर्ता द्वारा फॉर्म फ़ील्ड में "<" वर्ण को अवरुद्ध करना चाहता हूं।एएसपी.नेट एमवीसी वैलिडेट इनपुट (झूठा) xVal और [RegularExpression] DataAnnotation
चरण 1:: मैं 3 चरणों में समस्या का वर्णन करेंगे जब मैं एक क्षेत्र "<" चरित्र युक्त के साथ एक फ़ॉर्म सबमिट करने का प्रयास करते हैं, मैं "संभावित खतरनाक अनुरोध ..." - में अपेक्षा के अनुरूप ASP.NET।
चरण 2: ASP.NET के RequestValidation बचने के लिए, मैं के साथ नियंत्रक में मेरी अद्यतन विधि को सजाने "[ValidateInput (गलत)]"।
यह अपेक्षित काम करता है - अब मैं त्रुटि के बिना "<" चरित्र पोस्ट कर सकता हूं।
चरण 3: मैं डेटा एन्नोटेशन के साथ xVal का उपयोग करता हूं। उदाहरण के लिए, [आवश्यक] या [स्ट्रिंग लम्बाई (255)] अपेक्षित के रूप में काम करता है।
लेकिन जब मैं का उपयोग करें: [रेग्युलर ऍक्सप्रैशन ("। विशेष वर्ण की अनुमति नहीं है" "^ [^ <>] * $", त्रुटिसंदेश =)], मैं "संभावित dangeros अनुरोध मिलता है ... "ValidateInput (false)] निर्देश के बावजूद, फिर से त्रुटि।
क्या हो रहा है? क्या Regex validaton के लिए कोई आसान तरीका है, लेकिन [ValidateInput (false)] जगह पर? बेशक, मैं मॉडल में अपना सत्यापन कोड रखना चाहता हूं, नियंत्रक में नहीं।
यह देखते हुए कि एसओ कम्युनिटी बॉट ने इसे शीर्ष पर धक्का दिया है, क्या आप यह पुष्टि कर सकते हैं कि यह अभी भी एक मुद्दा है या नहीं? –
नहीं, यह एमवीसी 1 + xVal में एक इंस्यू था। एमवीसी 2 में सत्यापन मान्य के रूप में काम करता है (और अब xVal की कोई आवश्यकता नहीं है)। – Alex42