参数化数据注释中“必需”属性中的资源字符串
本文关键字:属性 资源 字符串 数据 注释 参数 必需 | 更新日期: 2023-09-27 18:23:38
我希望这个主题有意义:)
我不关心本地/全局内容,但如果我有一个名为IsRequired的资源,其值为"{0}是必需的"。如何与数据注释一起使用?(不是MVC btw)
这将"工作",当然:
[Required(ErrorMessageResourceName = "IsRequired",
ErrorMessageResourceType=typeof(Resources))]
但我需要这样的东西:
[Required(string.Format(ErrorMessageResourceName = IsRequired, "MyProperty"),
ErrorMessageResourceType=typeof(Resources))]
(是的,我知道这行不通;)
是否可以格式化数据注释必需属性中的资源字符串?为什么要写200个必需的资源字符串,而1个就足够了?
谢谢,Richard
一个选项是子类RequiredAttribute
:
public class MandatoryAttribute : RequiredAttribute
{
// ...
}
然后,您可以重写Validate
方法,在该方法中,您可以检查属性名称的ValidationContext
,并使用该方法生成正确的错误消息。