Asp.net mvc 2 在ASP.NETMVC3中,在编写自定义模型验证程序时,如何指示子对象的属性有错误?

Asp.net mvc 2 在ASP.NETMVC3中,在编写自定义模型验证程序时,如何指示子对象的属性有错误?,asp.net-mvc-2,validation,asp.net-mvc-3,Asp.net Mvc 2,Validation,Asp.net Mvc 3,我有以下型号: public class Person { public string Name {get;set;} public Address Address {get;set;} } public class Address { public string Street {get;set;} public string City {get;set} } 我现在创建了一个ModelValidator,用于验证Person对象。ModelValidator有一种方

我有以下型号:

public class Person
{
   public string Name {get;set;}
   public Address Address {get;set;}
}

public class Address
{
   public string Street {get;set;}
   public string City {get;set}
}
我现在创建了一个ModelValidator,用于验证Person对象。ModelValidator有一种方法可以实现:

public abstract System.Collections.Generic.IEnumerable<ModelValidationResult> 
Validate(object container)
在这种情况下,如何指示Person对象的Address.Street属性发生错误。我已尝试将ModelValidationResult.MemberName设置为Address.Street,但这不起作用

如何实现这一点?

请看一个自定义ModelValidator的示例

看起来他们正在使用ModelMetadata来处理属性名称

My bad,它确实有效

在上面的示例中,将模型验证错误的成员属性设置为Address.City会突出显示City字段

谢谢