Вы можете использовать свойство ErrorMessageResourceName
:
[Required(ErrorMessageResourceName = "SomeResource")]
[StringLength(30, ErrorMessageResourceName = "SomeOtherResource")]
public string Name { get; set; }
Вы можете оформить заказ в этом блоге для примера.
UPDATE:
В Application_Start
:
DefaultModelBinder.ResourceClassKey = "Messages";
А в файл Messages.resx
необходимо добавить пользовательские сообщения об ошибках. Используйте Reflector для просмотра сборок System.Web.Mvc
и System.ComponentModel.DataAnnotations
, чтобы увидеть имена используемых ключей.