5

मैं सी # 4 में था नाम स्थान System.ComponentModel.DataAnnotations उपयोग कर रहा हूँ मेरे अपने सत्यापन विशेषता को लागू करने के साथ विशेषता है और यह इसकस्टम मान्यता कई उदाहरण समस्या

[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] 
public sealed class MyCustomValidator : ValidationAttribute { 
    private String Property1 { get; set; } 
    private String Property2 { get; set; } 

    public ValeTaxiSituacaoRequired(String property1, String property2) { 
     Property1 = property1; 
     Property2 = property2; 
    } 

    public override bool IsValid(object value) { 
     //validation logic 
    } 

} 

मैं

नीचे के रूप में इस विशेषता का उपयोग करना चाहते हैं की तरह लग रहा
[MyCustomValidator("Name", "Job")] 
[MyCustomValidator("Name", "Email")] 
[MyCustomValidator("Name", "Job")] 
public class Employe { 
} 

समस्या यह है कि केवल एक सत्यापन perfomed है। मैं सभी मान्यताओं को कैसे निष्पादित कर सकता हूं (एएसपीएनटी एमवीसी 2 का उपयोग कर)?

उत्तर

0

FluentValidation पर एक नज़र डालें। यह आपको सत्यापित किए जाने वाले वर्गों से आपकी सत्यापन को अलग करने की अनुमति देता है ताकि आप किसी भी समय सर्वर या क्लाइंट पर अपना सत्यापन तर्क कॉल कर सकें।

यह आपको गुणों के साथ अव्यवस्थित किए बिना किसी वर्ग के किसी भी जटिलता के नियमों को जोड़ने की अनुमति देता है।

3

आप को लागू करने के AllowMultiple = अपनी खुद की विशेषता तो पहले ओवरराइड TypeID पर सच और JQuery का हल कोड परियोजना पर लेख को देखने के लिए अगले चाहते हैं है here