मेरे पास लिंक-टू-एसक्यूएल में मॉडल कक्षाएं हैं जो आंशिक कक्षाओं के साथ डेटा एनोटेशन विशेषताओं और xVal के संदर्भ में चिह्नित हैं।एएसपी.नेट एमवीसी मॉडल/व्यूमोडेल प्रमाणीकरण
जब मैं सीधे मॉडल पर एक दृश्य बांधता हूं तो सबकुछ बढ़िया काम करता है, दोनों जेएस एक्सवीएल और सर्वर साइड डबल चेक द्वारा उत्पन्न होते हैं।
मेरे कई विचार एक विशिष्ट मॉडल में इनपुट नहीं लेते हैं, इसलिए मैं दृश्य मॉडल कक्षाएं स्थापित कर रहा हूं। एक संपूर्ण मॉडल उदाहरण को उजागर करने के बजाय मैं उस मॉडल में गुणों का खुलासा करता हूं जिसे मैं दृश्य द्वारा सेट करने की अनुमति देता/करती हूं।
// foo model
public class Foo {
public string FooField { ... }
public Bar Bar { ... }
}
// bar model, where bar is a parent relationship of foo in the db
public class Bar {
public string BarField { ... }
}
// view model stuff
public class FooViewModel {
private Foo foo;
public FooViewModel() {
foo = new Foo() { Bar = new Bar() };
}
public Foo Model {
get { return foo; }
set { foo = value; }
}
public string BarField {
get { return foo.Bar.BarField; }
set { foo.Bar.BarField = value; }
}
public string ExtraViewModelField {
get; set;
}
}
यह दृष्टिकोण दृश्य मॉडल वर्ग को सही तरीके से पॉप्युलेट करता है और भंडार सही ढंग से रिकॉर्ड को पॉप्युलेट कर सकता है।
यह मान्यता को तब तक नहीं खींचता है। मैंने उत्सर्जित क्लाइंट कोड को देखा है और सत्यापन सरणी xval के लिए खाली है। इसके अतिरिक्त, IsValid के लिए सर्वर साइड चेक हमेशा सत्य है।
क्या मेरे पास डेटा एनोटेशन खींच सकता है हालांकि दृश्य मॉडल के गुण इस तरह के सत्यापन के लिए हैं, या मुझे यह एक और तरीका करना चाहिए?
अगर आप अपने प्रश्न का उत्तर देते हैं तो कृपया उत्तर दें –