मुझे FluentValidation के साथ कोई समस्या है जहां मैं किसी दिए गए श्रृंखला में सत्यापन त्रुटि के बावजूद एक संदेश प्रदर्शित करना चाहता हूं। उदाहरण के लिए, मैंने नीचे एक संपत्ति के लिए एक सत्यापन श्रृंखला परिभाषित की है। मैं उम्मीद करता हूं कि श्रृंखला का मूल्यांकन किया जाएगा और किसी भी विफलता के परिणामस्वरूप संदेश WithMessage()
कॉल में परिभाषित किया जाएगा। हालांकि, ऐसा लगता है कि यह शॉर्ट सर्किटिंग है और केवल पहली त्रुटि के लिए FluentValidation डिफ़ॉल्ट त्रुटि संदेश प्रदर्शित कर रहा है। देखें नीचे दिए गए कोड:नियम श्रृंखला के लिए एक संदेश?
RuleFor(s => s.ProposalDetail.AgeMin).NotNull()
.GreaterThanOrEqualTo(1)
.LessThanOrEqualTo(99)
.WithMessage("Minimum Age entry is required and must range from 1 to 99 years.");
बात ये है कि AgeMin संपत्ति शून्य है, इसलिए पहले NotNull()
जांच विफल हो रहा है और सत्यापन सन्देश में लिखा है " 'प्रस्ताव विस्तार उम्र मिन।' खाली नहीं होना चाहिए।" प्रस्ताव विवरण encapsulating दृश्य मॉडल का नाम है। मैंने पूरे सत्यापनकर्ता के लिए कैस्केडमोड को कैस्केडमोड पर सेट करने का प्रयास किया है। जारी रखें, लेकिन इसका कोई प्रभाव नहीं है।
मैं एक संपत्ति सत्यापन श्रृंखला के लिए एक संदेश कैसे पूरा कर सकता हूं?
'उपर्युक्त कोड के साथ, डिफ़ॉल्ट सत्यापन संदेश को वापस करने के बजाए वापस किया जाता है अंत में टॉम संदेश 'डिफ़ॉल्ट संदेश कहां घोषित किया गया है ..? क्या आप सभी प्रासंगिक कोड पोस्ट कर सकते हैं .. आपने भी जांच की है [.NET दस्तावेज़ीकरण/एक्सामल्स] के लिए fluentvalidation (https://fluentvalidation.codeplex.com/wikipage?title=CreatingAValidator) – MethodMan
हां, मैंने प्रलेखन और हेवन ' टी एक समान उदाहरण मिला। मुझे लगता है कि मुझे जो करना है, उसे पूरा करने के लिए सभी नियमों को समाहित करने के लिए मुझे 'अनिवार्य() 'का उपयोग करके एक नियम का उपयोग करना होगा। मैंने सोचा होगा कि यह एक साधारण उपयोग मामला है। डिफ़ॉल्ट FluentValidation संदेश ''प्रस्ताव विवरण देता है। आयु न्यूनतम 'खाली नहीं होना चाहिए' क्योंकि 'NotNull() 'श्रृंखला में पहला कॉल है। मैंने वैधकर्ता के लिए 'कैस्केडमोड = कैस्केडमोड.कॉन्टीन्यू' सेट करने का प्रयास किया है, जिसका कोई प्रभाव नहीं पड़ा। – TimeBomb006
कृपया एक [एमसीवी] प्रदान करें जो आपकी समस्या का प्रदर्शन करता है। यह संकलित कोड होना चाहिए जिसे हम चला सकते हैं। – Enigmativity