2010-02-27 6 views
24

मैं सी # के साथ एक एमवीसी वेब अनुप्रयोग बना रहा हूं। चूंकि साइट बहुभाषी होगी, इसलिए मैंने अपना संसाधन प्रबंधक लागू किया है। यह वर्ग धारावाहिक थ्रेड संस्कृति के आधार पर किसी डेटाबेस/कैश से आवश्यक संसाधन स्ट्रिंग लाने के लिए ज़िम्मेदार है और अभी तक ठीक काम करता है।कस्टम संसाधन समाधान के साथ DataAnnotations ErrorMessageResourceName का उपयोग कैसे करें

मेरी समस्या यह है कि, मैं आवश्यक किसी संपत्ति पर विशेषता का उपयोग करते हुए उदाहरण के लिए सत्यापन त्रुटि संदेशों को लाने के लिए अपने कस्टम संसाधन प्रबंधक समाधान का उपयोग करना चाहता हूं। क्या यह किया जा सकता है?

उत्तर

49

RequiredAttribute उपयोग करने के लिए अनुमति देता है एक custom resource manager:

[Required(
    ErrorMessageResourceType = typeof(CustomResourceManager), 
    ErrorMessageResourceName = "ResourceKey")] 
public string Username { get; set; } 

अद्यतन:

public class CustomRequiredAttribute : RequiredAttribute 
{ 
    public override string FormatErrorMessage(string name) 
    { 
     return YourCustomResourceManager.GetResource(name); 
    } 
} 
+1

मेरे संसाधनप्रबंधक वास्तव में एक कस्टम समाधान है:

एक और संभावना है अपने कस्टम विशेषता लिखना है और न तो एमवीसी में किसी भी तरह से जुड़ा हुआ है और न ही यह टी को छोड़कर किसी भी इंटरफेस को लागू करता है वह मैंने बनाया है। इस बदलाव में मेरे संसाधन हैंडलर का उपयोग किस प्रकार किया जा सकता है? – Mats

+0

कृपया मेरा अपडेट देखें। –

+0

क्या कस्टम विशेषताएँ काम करने के लिए कुछ और आवश्यक है? मैंने कोशिश की है और यह काम नहीं कर रहा है। क्या मुझे नए एट्रिब्यूट प्रकार का उपयोग करने के लिए अपना खुद का संपादक बनाने के लिए विस्तार विधि की आवश्यकता है? –

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