2010-06-03 12 views
5

मैं डीए 4.0 उपयोग कर रहा हूँ एक MVC आवेदन के साथ और जिन्हें आप नीचे एक कस्टम सत्यापनकर्ता बनाया है:का उपयोग DataAnnotations 4.0

public static ValidationResult NumberOfItems(int numItems, ValidationContext pValidationContext) 
{ 
    if (numItems == 1) 
    { 
     //Tag as critical error 
     //return new ValidationResult... 
    } 

    if (numItems > 1 && numItems <= 10) 
    { 
     //Tag as non critical error 
    } 

    //Else it's successful 
    return ValidationResult.Success; 
} 

मैं एक गंभीर त्रुटि है या नहीं के रूप में एक त्रुटि संदेश टैग करना चाहते हैं। यदि यह कोई गंभीर त्रुटि नहीं है, तो मैं इसे अपने दृश्य में एक्सेस करना चाहता हूं और इसे एक अलग तरीके से प्रस्तुत करना चाहता हूं।

कस्टम सत्यापनकर्ता
  • डिफ़ॉल्ट ModelBinder संशोधित गंभीर समस्या के
  • मैं कैसे करूँ हैं की पहचान करने में विभिन्न प्रकार के रूप में

    1. टैग विफलताओं:

      तो, वहाँ यह करने के लिए 2 हिस्से हैं इस?

    उत्तर

    2

    आपके दोनों प्रश्नों के लिए एमवीसी के आंतरिक त्रुटि हैंडलिंग कोड का एक पूरा समूह पुनः लिखना आवश्यक है। मॉडलस्टेट और व्यू मॉडेल सत्यापन होने पर सभी अलग-अलग स्थानों में त्रुटि गंभीरता जोड़ने के लिए कोई आसान रास्ता नहीं है।

    "मैं यह कैसे करूँगा" का एकमात्र जवाब "बहुत सारे कस्टम कोड के साथ" है। ;)

    +0

    क्या होगा यदि मैं डेटा नॉटेशन का उपयोग नहीं करता और एक अलग सत्यापन ढांचे के साथ जाता हूं? –

    +1

    @ डेव शिलिंग तो आपको एक अलग प्रश्न पूछने की आवश्यकता है। ;) – jfar

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