7

मेरे पास एक सबसनिक 3 सक्रिय रिकॉर्ड उत्पन्न आंशिक उपयोगकर्ता वर्ग है जिसे मैंने अलग-अलग आंशिक वर्ग में कुछ तरीकों से विस्तारित किया है।जनरेटेड आंशिक कक्षाओं के लिए डेटाअनोटेशन जोड़ना

मैं जानना चाहता हूं कि एक आंशिक वर्ग पर सदस्य गुणों में डेटा एनोटेशन जोड़ना संभव है, जहां इसे अन्य सबसनिक जेनरेटेड पर घोषित किया गया है, मैंने इसे आजमाया।

public partial class User 
{ 
    [DataType(DataType.EmailAddress, ErrorMessage = "Please enter an email address")] 
    public string Email { get; set; } 

    ... 
} 

यह उदाहरण "सदस्य पहले से परिभाषित" त्रुटि देता है।

मुझे लगता है कि मैंने कुछ समय पहले एक उदाहरण देखा होगा जो मैं डायनेमिक डेटा और लिंक 2 एसक्यूएल के साथ करने की कोशिश कर रहा हूं।

उत्तर

10

आपको बस इतना करना होगा क्या एक 'buddy class' बना सकते हैं और उस वर्ग के लिए डेटा एनोटेशन लागू है:

[MetadataType(typeof(UserValidation))] 
public partial class User 
{ 
    ... 
} 

public class UserValidation 
{ 
    [DataType(DataType.EmailAddress, ErrorMessage = "Please enter an email address")] 
    public string Email { get; set; } 
} 
0

यह सीधे आपके प्रश्न का उत्तर नहीं है, लेकिन मैं एक ही समस्या थी, और नहीं बल्कि DataAnnotations का उपयोग करने से, मैं अब तक बड़ी सफलता के साथ FluentValidation Framework {0} का उपयोग कर रहा हूं। यह अच्छी तरह से काम करता है क्योंकि यह समान कार्यक्षमता प्रदान करता है, लेकिन कक्षा के सदस्यों पर विशेषताओं का उपयोग करके सत्यापन लागू नहीं करता है। प्रमाणीकरण पूरी तरह से अलग वर्ग में होता है जो कक्षा को मान्य किया जाता है (यानी उपयोगकर्ता सत्यापनकर्ता)।

{0}: http://fluentvalidation.codeplex.com/

1

आप एक साथी वर्ग के रूप में स्कॉट गुथरी द्वारा यहां समझाया http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

+0

इसके अलावा इस का एक गंधा रास्ता बताते हैं सबसोनिक जाने के लिए तैयार करना चाहिए यहां तक ​​कि आप के लिए है कि साथी वर्ग बनाने http://subsonicproject.com/docs/User_talk:Minus4 – Korayem