您可以註冊要作爲你的模型元/驗證提供商類。
有你的實體,這是不能被改變:
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