是否可以简化实体框架验证消息配置?

时间:2016-06-22 17:47:29

标签: c# asp.net-mvc globalization

这是我第一次使用Entity Framework,我需要全局化验证消息。

就目前而言,我发现的最佳方法是使用以下内容:

实体

public class Entity
{
    [Display(Name = "Entity_Field", ResourceType = typeof (Resources))]
    [StringLength(128, ErrorMessageResourceType = typeof (Resources), ErrorMessageResourceName = "StringLengthMessage")]
    [Required(AllowEmptyStrings = false, ErrorMessageResourceType = typeof (Resources), ErrorMessageResourceName = "RequiredMessage")]
    public string Field { get; set; }

}

资源

| Name                | Value                               | Comment |
|:-------------------:|:-----------------------------------:|:-------:|
| Entity_Field        |Field Name                           |         |
| RequiredMessage     |{0} is required                      |         |    
| StringLengthMessage |{0} maximum length is {1} characters |         |

正如您所看到的,使用此策略将迫使我编写大量重复代码并使代码更难阅读(非常个人意见)。

我正在寻找更像这样的东西:

App.conf 使用here

中的默认消息密钥
<entityFramework>
    <defaultErrorMessageResourceType>Project.Properties.Resources</defaultErrorMessageResourceType>
</entityFramework>

实体

公共类实体 {

[StringLength(128)]
[Display(Name = "Entity_Field")]
[Required(AllowEmptyStrings = false)]
public string Field { get; set; }

}

资源

| Name                                  | Value                               | Comment |
|:-------------------------------------:|:-----------------------------------:|:-------:|
| Entity_Field                          |Field Name                           |         |
| RequiredAttribute_ValidationError     |{0} is required                      |         |    
| StringLengthAttribute_ValidationError |{0} maximum length is {1} characters |         |

0 个答案:

没有答案