如何为每个必需属性设置相同的参数

时间:2011-03-12 12:13:49

标签: c# asp.net-mvc attributes

我正在为我的ASP MVC应用程序进行本地化,我想为每个属性设置相同的设置。

例如:

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

有没有办法自动完成?

3 个答案:

答案 0 :(得分:6)

创建CustomRequiredAttribute后,您应该在Global.asax

中注册自定义属性
protected void Application_Start()
{
    DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(CustomRequiredAttribute), typeof(RequiredAttributeAdapter));
    ...

来源:http://forums.asp.net/t/1528277.aspx

答案 1 :(得分:3)

覆盖RequiredAttribute并将您的实现细节放在构造函数中,即

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

然后装饰你的财产,如:

[CustomRequired]
[Display(Name = "Hasło")]
public string Password { get; set; }

答案 2 :(得分:0)

您可以编写从RequiredAttribute派生的自定义属性并设置这些属性:

[MyRequired]
[Display(Name = "Hasło")]
public string Password { get; set; }