asp.net-mvc-3 – 修改StringLength验证的默认ErrorMessage
StringLength验证的默认ErrorMessage比我想要的要长很多:
我想将其普遍改为:
我想避免冗余地指定我声明的每个字符串的ErrorMessage: [StringLength(20,ErrorMessage="Maximum length is 20")] public string OfficePhone { get; set; } [StringLength(20,ErrorMessage="Maximum length is 20")] public string CellPhone { get; set; } 我很确定我记得有一种简单的方式来普遍改变ErrorMessage,但是不能回想起来。 编辑: 为了澄清,我试图普遍地更改默认的ErrorMessage,以便我可以输入: [StringLength(20)] public string OfficePhone { get; set; } 并有错误信息说:
解决方法
您可以在许多属性上指定StringLength属性,如下所示
[StringLength(20,ErrorMessageResourceName = "StringLengthMessage",ErrorMessageResourceType = typeof(Resource))] public string OfficePhone { get; set; } [StringLength(20,ErrorMessageResourceType = typeof(Resource))] public string CellPhone { get; set; } 并在您的资源文件中添加字符串资源(名为StringLengthMessage) "Maximum length is {1}" 消息定义一次,并有一个变量占位符,如果你改变想法的长度来测试。 您可以指定以下内容: > {0} – 名称 更新 为了进一步减少重复,您可以对StringLengthAttribute进行子类化: public class MyStringLengthAttribute : StringLengthAttribute { public MyStringLengthAttribute() : this(20) { } public MyStringLengthAttribute(int maximumLength) : base(maximumLength) { base.ErrorMessageResourceName = "StringLengthMessage"; base.ErrorMessageResourceType = typeof (Resource); } } 或者,如果要添加其他参数,您可以覆盖FormatErrorMessage。现在的属性如下: [MyStringLength] public string OfficePhone { get; set; } [MyStringLength] public string CellPhone { get; set; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何获取ModelState.AddModel错误绑定到kno
- asp-classic – 经典ASP页面可以在Azure中运行吗?
- asp.net – Context中不存在DeleteObject
- 用于访问所选ASP.NET复选框的jQuery选择器
- asp.net-mvc – ViewBag的重点是什么?
- asp.net – 通过网页控制用户的USB设备?可能?
- asp.net – 项目模板和布局模板之间的区别
- asp.net-mvc – 用剃须刀和VS 2010智能感知
- asp.net – 如何在CORS中解决’预检无效(重定向)’
- ASP.NET MVC – Ajaxified RenderAction
- asp.net-mvc-3 – 为什么会话是ASP.NET MVC应用程
- asp.net-mvc – 更新实体框架MVC中的子实体
- asp.net-mvc – 直接使用域模型的视图是否危险?
- 使用ASP.NET将HTML表导出到Excel
- asp.net-mvc – ASP.NET MVC 5和Web API 2 .NET要
- asp.net-mvc – 使用C#以编程方式将AzureAd / Op
- asp.net-mvc – 依赖注入框架的重点是什么?
- 管理页面来管理asp.net会员提供商和角色管理
- asp.net-mvc – 更新到MVC 5后,iframe不再有效
- 使用ASP.NET和C#在DropDownList中选择多个值