我有一個稱爲MyController的MVC控制器,其名爲MyAction。另一方面,我有一個名爲MyModel的模型,所有這些類都在一個名爲Portal.Website(Asp.net MVC3應用程序)的項目中,我將其用作通用網站,並存儲定製網站的常用功能,我將在未來。從基本模型覆蓋驗證屬性
另一方面,我有另一個網站項目,引用了Portal.Website項目,名爲Portal.Website.MyCustomWebsite。
這是通用的網站部分視圖模型MyModel.cs:
namespace Portal.Website
{
public class MyModel
{
[Required(ErrorMessage="The field Name is required.")]
[Display("MyPropertyOriginal")]
public virtual string Name{get;set;}
}
}
這是通用的網站部分控制器和動作:
namespace Portal.Website
{
public class MyController: Controller
{
[HttpPost]
public ActionResult MyAction(MyModel model)
{
if(Model.IsValid)
....
//My issue: Im getting the error message in english, not the overridden one.
}
}
}
這是我創建的視圖模型在自定義部分:
namespace Portal.Website.MyCustomWebsite
{
public class MyModel: MyModel
{
[Required(ErrorMessage="My error message in other language.")]
[Display("MyPropertyOverriden")]
public override string Name{get;set;}
}
}
我的問題:
我想覆蓋Required屬性的ErrorMessage。爲此,我在自定義項目中創建了一個新模型。另一方面,我想使用已在我的公共部分定義的Controller/Action(MyController/MyAction)。
你知道這是可能嗎?我只能通過Required屬性獲得問題,但使用Display它的工作是完美的。
在此先感謝。 迎接。 何塞。