Как установить одинаковые параметры для каждого обязательного атрибута - PullRequest
3 голосов
/ 12 марта 2011

Я делаю локализацию для своего приложения ASP MVC и хочу установить одинаковые настройки для каждого свойства.

например:

    [Required(ErrorMessageResourceType = typeof(Resources), ErrorMessageResourceName = "RequiredAttribute_ValidationError")]
    [Display(Name = "Hasło")]
    public string Password { get; set; }

Есть ли способ сделать это автоматически?

Ответы [ 3 ]

6 голосов
/ 14 марта 2011

После создания CustomRequiredAttribute вы должны зарегистрировать свой пользовательский атрибут в Global.asax

protected void Application_Start()
{
    DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(CustomRequiredAttribute), typeof(RequiredAttributeAdapter));
    ...

источник: http://forums.asp.net/t/1528277.aspx

3 голосов
/ 12 марта 2011

Переопределите RequiredAttribute и поместите детали реализации в конструктор, т.е.

   public class CustomRequiredAttribute : RequiredAttribute{
       public CustomRequiredAttribute():base(){
           ErrorMessageResourceType = typeof(Resources);
           ErrorMessageResourceName = "RequiredAttribute_ValidationError");
       }
   }

, затем украсьте вашу собственность как:

[CustomRequired]
[Display(Name = "Hasło")]
public string Password { get; set; }
0 голосов
/ 12 марта 2011

Вы можете написать собственный атрибут, производный от RequiredAttribute и установив эти свойства:

[MyRequired]
[Display(Name = "Hasło")]
public string Password { get; set; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...