我有一个称为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它的工作是完美的。
在此先感谢。 迎接。 何塞。