У меня есть контроллер MVC под названием MyController с действием MyAction. С другой стороны, у меня есть Модель с именем MyModel, и все эти классы находятся в проекте под названием Portal.Website (Приложение Asp.net MVC3), который я использую в качестве универсального веб-сайта и который хранит общие функциональные возможности для пользовательских веб-сайтов, которые я добавлю в будущее.
С другой стороны, у меня есть другой проект веб-сайта со ссылкой на проект Portal.Website под названием Portal.Website.MyCustomWebsite.
Это viewmodel 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;}
}
}
Моя проблема:
Я хотел бы переопределить ErrorMessage атрибута Required. По этой причине я создал новую модель в моем собственном проекте. С другой стороны, я хотел бы использовать Controller / Action (MyController / MyAction), который уже определен в моей общей части.
Вы знаете, возможно ли это? Я только получаю проблему с атрибутом Required, но с Display One он отлично работает.
Заранее спасибо.
Поздравил.
Хосе.