Сначала извините за команду Microsoft MVC из-за отсутствия простого решения для локализации сообщений проверки аннотаций данных. Это отнимает у меня много времени и, в конце концов, простое решение не найдено!
Я наконец решил наследовать от RequiredAttribute
, чтобы сделать локализацию. поэтому я сделал это:
public class MyRequiredAttribute : System.ComponentModel.DataAnnotations.RequiredAttribute
{
public MyRequiredAttribute()
: base()
{
this.ErrorMessageResourceType = typeof(Resources.DataAnnotationDefaults);
this.ErrorMessageResourceName = "Required";
}
}
где я предоставил свои локализованные сообщения в файле DataAnnotationDefaults.resx
.
Так что я могу использовать это просто
[MyRequired]
public int UnitCode { get; set; }
Но проблема в том, что он не применяется на стороне клиента и только на стороне сервера. Зачем? что я пропустил?
Удивительно, что следующая строка в порядке и работает и на стороне клиента!
[Required(ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(DataAnnotationDefaults))]
public int UnitCode { get; set; }
Я буду рад и признателен, если кто-то может мне помочь в этом.