trat ein Problem mit der Validierung komplexer Klassen in ASP.NET MVC4 mit DataAnnotation.Validierung von komplexen Klassen in ASP.NET MVC4 schlägt fehl
Lassen Sie uns ein folgendes Modell haben (vereinfacht)
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; }
}
Dann habe ich versuchen, eine Instanz von diesem Modell in meinem Controller zu überprüfen:
// 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}
Validierung von orderModel sollte als cust.UserName scheitern hat nur 1 Zeichen, aber 3 werden vom Modell benötigt. Gleiches gilt für cust.DisplayName. Wenn ich jedoch eine reine Customer-Klasse validiere, schlägt sie wie erwartet fehl.
Jede Idee, was falsch ist?
dank
Jiri
Soweit ich Sie wissen, kann geschachtelte Objekte nicht validieren, vielleicht einen benutzerdefinierten Validator verwenden – saj
Es scheint, dass die Überprüfung der Datenanmerkung die Überprüfung geschachtelter Objekte nicht standardmäßig ausführt. Similar post hier http://stackoverflow.com/questions/2493800/how-can-i-tell-the-data-annotations-validator-to-also-validate-complex-child-pro –