se encontró un problema con la validación de clases complejas en ASP.NET MVC4 utilizando DataAnnotation.La validación de clases complejas en ASP.NET MVC4 falla
Vamos a tener un modelo siguiente (simplificado)
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; }
}
Entonces intenta validar una instancia de este modelo en mi controlador:
// 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}
Validación de orderModel falle como el cust.UserName tiene solo 1 carácter, pero el modelo requiere 3. Lo mismo se aplica a cust.DisplayName. Pero cuando valido una clase pura de Cliente, falla como se esperaba.
¿Alguna idea de qué pasa?
gracias
Jiri
Por lo que yo te conozco no puede validar objetos anidados así, tal vez use un validador personalizado – saj
Parece que la validación de la anotación de datos no ejecuta validación de objetos anidados de forma predeterminada. Publicación similar aquí http://stackoverflow.com/questions/2493800/how-can-i-tell-the-data-annotations-validator-to-also-validate-complex-child-pro –