के बाहर मान्य है या नहीं, मेरे पास एक सहायक वर्ग है जो मेरे मॉडल से एक नई कक्षा में पास किए गए मानों की एक सरणी पारित की जाती है। मैं कैसे सत्यापित करूं कि इस वर्ग को दिए गए सभी मान वैध हैं? दूसरे शब्दों में, मैं गैर-नियंत्रक वर्ग के भीतर मॉडलस्टेट की कार्यक्षमता का उपयोग कैसे करूं?जांचें कि मॉडल नियंत्रक
नियंत्रक से:
public ActionResult PassData()
{
Customer customer = new Customer();
string[] data = Monkey.RetrieveData();
bool isvalid = ModelHelper.CreateCustomer(data, out customer);
}
सहायक से:
public bool CreateCustomer(string[] data)
{
Customter outCustomer = new Customer();
//put the data in the outCustomer var
//??? Check that it's valid
}
दुर्भाग्यवश, यह सत्यापन किसी भी जटिल बच्चे वस्तुओं या संग्रहों के माध्यम से पुन: कार्य नहीं करता है। Validator.TryValidateObject (...) केवल तत्काल संपत्ति और फ़ील्ड सत्यापन करता है, और इसे एक दिन कहते हैं, जैसा कि एमवीसी दुनिया में नियंत्रक में मॉडल बाध्यकारी पर होने वाली वैधता का विरोध करता है जो पूरे ऑब्जेक्ट ग्राफ़ को पार करता है। – neumann1990