DataAnnotations funktioniert nicht mit Buddy-Klasse. Der folgende Code validiert immer true. Warum ?Validierung funktioniert nicht, wenn ich Validator.TryValidateObject verwenden
var isValid = Validator.TryValidateObject (neuer Kunde(), Kontext, Ergebnisse, wahr);
und hier ist die Buddy-Klasse.
public partial class Customer
{
public string Name { get; set; }
public int Age { get; set; }
}
[MetadataType(typeof(CustomerMetaData))]
public partial class Customer
{
public class CustomerMetaData
{
[Required(ErrorMessage = "You must supply a name for a customer.")]
public string Name { get; set; }
}
}
Hier ist ein weiterer Thread mit derselben Frage., Aber keine Antwort. link text
Ich bin mir nicht sicher, aber ich denke, Sie sollten die Klassen nicht verschachteln. Ich denke auch, dass die CustomMetaData-Klasse ohne das public-Schlüsselwort nicht zugänglich wäre. Versuchen Sie, CustomerMetaData aus der Customer-Klasse zu entfernen und öffentlich zu machen. – Alxandr
Es funktioniert nicht, selbst wenn ich CustomerMetaData aus der Customer-Klasse verschiebe und als public deklariere. Ich habe Sorge, dass TryValidateObject Buddyclass (MetadataType) unterstützt? – ashraf