您可以注册要作为你的模型元/验证提供商类。
有你的实体,这是不能被改变:
public class MyModel
{
public int IntProperty { get; set; }
public DateTime DateProperty { get; set; }
}
你可以有它的MVC侧的元数据,你可以验证并提供元数据,就好像它是原班:
[ValidationAttribute(...)]
[ValidationAttribute(...)]
public class MyModelValidator
{
[Required]
[Display("My Integer")]
public int IntProperty { get; set; }
[DataType(DataType.DateTime)]
public DateTime DateProperty { get; set; }
}
最后,您只需将元数据/验证程序类附加到通讯组基础类,例如Global.asax上:
protected void Application_Start()
{
AssociatedMetadataTypeTypeDescriptionProvider typeDescriptionProvider;
typeDescriptionProvider = new AssociatedMetadataTypeTypeDescriptionProvider(
typeof(MyModel),
typeof(MyModelValidator));
TypeDescriptor.AddProviderTransparent(typeDescriptionProvider, typeof(MyModel));
// register other metadata classes
}
你可以为你想要的每个实体做这件事。
好了,所以我可以通过使用部分类属性添加到代理对象的现有属性。会允许我吗? –
我不确定您的代理服务器,但您可以使用属性'[MetadataType(typeof(YourOwnClassForValidation))]'定义一个类,其中将验证属性设置为属性。如果你有一个自动生成的实体类,这将有助于你下次以设计师身份进行更改。 – Marc