【问题标题】:Parameterising resource strings in Required attribute in Data Annotations在数据注释的必需属性中参数化资源字符串
【发布时间】:2012-02-07 01:16:35
【问题描述】:

我希望这个主题有意义:)

我不关心本地/全局的东西,但如果我有一个名为 IsRequired 的资源,其值为“需要 {0}”。如何与数据注释一起使用? (不是 MVC 顺便说一句)

这当然会“起作用”:

[Required(ErrorMessageResourceName = "IsRequired", 
ErrorMessageResourceType=typeof(Resources))]

但我需要类似的东西:

[Required(string.Format(ErrorMessageResourceName = IsRequired, "MyProperty"), 
ErrorMessageResourceType=typeof(Resources))]

(是的,我知道那行不通;)

是否可以在数据注释所需属性中格式化资源字符串?为什么要写 200 个所需的资源字符串,而 1 就足够了?

谢谢, 理查德

【问题讨论】:

标签: c# asp.net data-annotations


【解决方案1】:

一种选择是继承RequiredAttribute

public class MandatoryAttribute : RequiredAttribute
{
    // ...
}

然后您可以覆盖 Validate 方法,在该方法中您可以检查 ValidationContext 的属性名称并使用它来生成正确的错误消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 2021-04-01
    相关资源
    最近更新 更多