我希望这个主题有意义:)
我不喜欢本地/全局的东西,但如果我有一个名为IsRequired的资源,其值为“{0}”。如何使用数据注释? (不是MVC顺便说一句)
这当然会“奏效”:
[Required(ErrorMessageResourceName = "IsRequired",
ErrorMessageResourceType=typeof(Resources))]
但我需要这样的东西:
[Required(string.Format(ErrorMessageResourceName = IsRequired, "MyProperty"),
ErrorMessageResourceType=typeof(Resources))]
(是的,我知道这不起作用;)
是否可以在数据注释必需属性中格式化资源字符串?为什么在1就足够时编写200个必需的资源字符串?
谢谢, 理查德
答案 0 :(得分:1)
一个选项是子类RequiredAttribute
:
public class MandatoryAttribute : RequiredAttribute
{
// ...
}
然后,您可以覆盖Validate
方法,在该方法中,您可以检查ValidationContext
属性名称,并使用该方法生成正确的错误消息。