डेटा एनीमेशन का उपयोग करते हुए एएसपी.नेट एमवीसी 4 में जटिल कक्षाओं के सत्यापन के साथ एक मुद्दे पर आया।एएसपी.नेट एमवीसी 4 में जटिल कक्षाओं का सत्यापन
चलो एक निम्नलिखित मॉडल है (सरलीकृत)
public class Customer
{
[Required]
[StringLength(8, MinimumLength = 3)]
public string UserName { get; set; }
[Required]
[StringLength(8, MinimumLength = 3)]
public string DisplayName { get; set; }
}
public class Order
{
public Customer customer { get; set; }
}
तब मैं अपने नियंत्रक में इस मॉडल का एक उदाहरण मान्य करने के लिए प्रयास करें:
// CREATE A DUMMY INSTANCE OF THE MODEL
Customer cust = new Customer();
cust.UserName = "x";
cust.DisplayName = "x";
Order orderModel = new Order();
orderModel.customer = cust;
// VALIDATE MODEL
TryValidateModel(orderModel); // ModelState.IsValid is TRUE (which is incorrect)
TryValidateModel(cust); // ModelState.IsValid is FALSE (whic is correct}
orderModel का सत्यापन cust.UserName के रूप में विफल मॉडल में केवल 1 वर्ण है, लेकिन 3 मॉडल की आवश्यकता है। ग्राहक पर लागू होता है। प्रदर्शन नाम। लेकिन जब मैं एक शुद्ध ग्राहक वर्ग को मान्य करता हूं तो यह अपेक्षा के अनुसार विफल रहता है।
कोई विचार क्या गलत है?
धन्यवाद
जिरी
जहाँ तक के साथ सजाया सरल गुणों के साथ आबादी वाले के साथ एक दृश्य मॉडल मैं जैसा कि आप जानते बनाएं उस तरह नेस्टेड ऑब्जेक्ट्स को मान्य नहीं कर सकते हैं, शायद एक कस्टम सत्यापनकर्ता – saj
का उपयोग करें ऐसा लगता है कि डेटा एनोटेशन सत्यापन डिफ़ॉल्ट रूप से नेस्टेड ऑब्जेक्ट्स के सत्यापन को नहीं चलाता है। सिममिलर यहां पोस्ट करें http://stackoverflow.com/questions/2493800/how-can-i-tell-the-data-annotations- validator-to-also-validate-complex-child-pro –