रोकना हम जटिल प्रकार के प्रयोग कर रहे हैं इस तरह हमारे अनुवाद क्षेत्रों का प्रबंधन करने के:इकाई की रूपरेखा जटिल प्रकार कस्टम मान्यता, मान्यता Recursion
[ComplexType]
public class Translated
{
[Required]
public string NL { get; set; }
[Required]
public string EN { get; set; }
[ScaffoldColumn(false)]
public string TranslatedText
{
get
{
return Util.Translate(NL, EN);
}
}
}
हम उपस्थित होना क्षेत्रों की आवश्यकता है। लेकिन कुछ मामलों में पूरी अनुवादित क्षेत्र में के रूप में वैकल्पिक है:
public class Question
{
...
[Optional(ErrorMessage="Foo")]
public Translated Description { get; set; }
...
}
हालांकि, ऐसा लगता है कि वैकल्पिक विशेषता गणना की जाती है, और झूठे कुछ भी नहीं जब यह रिटर्न परिणाम के साथ किया जाता है।
class OptionalAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
return false;
}
}
जब मैं एक गैर जटिल प्रकार यह उम्मीद के रूप में काम करता है पर वैकल्पिक विशेषता शब्दों में कहें, त्रुटि संदेश हमेशा फू हो जाएगा।
अंतिम लक्ष्य दोनों मामलों में विवरण खाली होने की अनुमति देना है, लेकिन जब फ़ील्ड भरने में से एक त्रुटियों को प्रसारित करना चाहिए।
रोक सत्यापन प्रत्यावर्तन क्षेत्र वैकल्पिक होने के लिए कारण होगा, लेकिन यह भी मामले में खेतों वे में भर रहे हैं के सत्यापन रोका जा सके।
यह कैसे पूरा करने के लिए पर कोई भी विचार?
बीटीडब्ल्यू। ईएफ सीटीपी 5 पुराना संस्करण है। वर्तमान verwion ईएफ 4.1 आरटीडब्ल्यू (अंतिम संस्करण) कहा जाता है। –
मैं इस स्थिति का परीक्षण नए संस्करण के साथ करूँगा और रिपोर्ट करूंगा। –
जिस स्थिति में मैंने अपने मूल प्रश्न में स्केच किया है वह अभी भी है। मुझे लगता है कि मैं अपनी संस्थाओं की वैध विधि को ओवरराइड कर सकता हूं ताकि यह जांच सके कि यह वैकल्पिक है या नहीं, और यदि मामला केवल तभी खाली होता है जब यह खाली नहीं होता है। इस पर कोई सुझाव है कि इसे कैसे कार्यान्वित किया जाए? मैं अपने आप के साथ एमवीसी/फ्रेमवर्क आपूर्ति कोड ओवरराइट करने से भी डरता हूं। –