Jir*_*jka 6 c# asp.net asp.net-mvc
遇到了使用DataAnnotation验证ASP.NET MVC4中复杂类的问题.
让我们有一个以下模型(简化)
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; }
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试在我的控制器中验证此模型的实例:
// 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}
Run Code Online (Sandbox Code Playgroud)
orderModel的验证应该失败,因为cust.UserName只有1个字符,但Model需要3个字符.这同样适用于cust.DisplayName.但是,当我验证纯Customer类时,它会按预期失败.
知道什么是错的吗?
谢谢
吉日
| 归档时间: |
|
| 查看次数: |
925 次 |
| 最近记录: |