无法替换 RegularExpressionAttribute 的 ErrorMessage 中的占位符 {0}
[StringLength(100),
RegularExpression(RegexPatterns.NoBracketsRegEx,
ErrorMessageResourceType = typeof(Resources),
ErrorMessage = "HTML tags are not allowed in {0} field")]
public virtual string Title { get; set; }
当我尝试在标题字段中输入 Html 标签时,收到错误消息:
“{0} 字段中不允许使用 HTML 标记”
而不是
“标题字段中不允许使用 HTML 标签”。
我正在使用 System.ComponentModel.DataAnnotations, Version=4.0.0.0
我已尝试设置 Display(Name="Title")
但仍然没有运气!知道出了什么问题吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不能使用
ErrorMessage
和
ErrorMessageResourceType
一起。它们的使用是相互排斥的。对于非本地化错误消息,您可以使用
ErrorMessage
属性用字符串文字初始化(没有格式说明符,因为就像您发现的那样,它们将按原样显示)。对于本地化错误消息,请使用
ErrorMessageResourceType
属性与ErrorMessageResourceName
属性。以下是一些可能有帮助的相关博客文章:
使用 DataAnnotations 本地化验证,以及
ASP.NET MVC 2 :模型验证。
You can't use
ErrorMessage
andErrorMessageResourceType
together. Their use is mutually exclusive.For non-localized error messages, you can use the
ErrorMessage
property initialized with a string literal (without format specifiers because, like you've discovered, they will be shown as is).For localized error messages, use the
ErrorMessageResourceType
property together with theErrorMessageResourceName
property.Here's are a couple of related blog posts that may help:
Localizing Validation Using DataAnnotations, and
ASP.NET MVC 2: Model Validation.