.NET

2010-05-17 6 views
6

के लिए फ्लुएंट वैलिडेशन लाइब्रेरी के साथ एक एकल संपत्ति को मान्य करें क्या आप Fluent Validation लाइब्रेरी के साथ केवल एक ही संपत्ति को सत्यापित कर सकते हैं, और यदि ऐसा है तो कैसे? मैंने सोचा था कि this discussion thread from January of 2009 मुझे दिखाया है कि कैसे निम्न सिंटैक्स के माध्यम से यह करने के लिए:.NET

validator.Validate(new Person(), x => x.Surname); 

दुर्भाग्य से यह इस पुस्तकालय के वर्तमान संस्करण में काम करता है प्रकट नहीं होता है। एक अन्य बात यह है कि मुझे विश्वास है कि केवल एक प्रॉपर्टी मान्य संभव हो सकता है का नेतृत्व किया Jeremy Skinners' blog post से निम्नलिखित उद्धरण है:

"अंत में, मैं मान्य करने के लिए जरूरत के बिना FluentValidation की संपत्ति सत्यापनकर्ता के कुछ निष्पादित करने में सक्षम होने की क्षमता जोड़ा संपूर्ण वस्तु। यह अब डिफ़ॉल्ट ModelState में शामिल होने से "मान आवश्यक था" संदेश को रोकने के लिए संभव है इसका मतलब यह है। "

है कि अगर जरूरी मतलब है कि यह सिर्फ एक संपत्ति मान्य का समर्थन करता है लेकिन मैं नहीं जानता कि या तथ्य यह है कि आप पहली सत्यापन त्रुटि के बाद सत्यापन बंद करने के लिए सत्यापन लाइब्रेरी बता सकते हैं।

+1

सचमुच इस पोस्ट में हर कड़ी अब और काम नहीं कर रहा :( –

उत्तर

4

कोडप्लेक्स पर this discussion के अनुसार, यह क्षमता विस्तार विधियों के माध्यम से जोड़ा जाता है। IntelliSense में दिखाई देने के लिए आपको FluentValidation नेमस्पेस आयात करने की आवश्यकता होगी।

+1

FluentValidation.DefaultValidatorExtensions एक या अधिक संपत्ति नामों से सत्यापन के लिए विस्तार के तरीकों है। आईई 'MyClassValidator.Validate (MyClassInstance," MyPropertyName ")' – bdeem