asp.net-mvc – 在ASP.NET MVC 3中自定义模型绑定错误消息
发布时间:2020-12-16 10:00:37 所属栏目:asp.Net 来源:网络整理
导读:我正在使用ASP.NET MVC 3和Fluent验证.我希望我的所有错误消息都措辞和格式相同,无论它们是验证错误消息还是模型绑定错误消息. 假设我有以下视图模型: [Validator(typeof(PersonValidator))]public class Person{ [ScaffoldColumn(false)] public int Id {
我正在使用ASP.NET MVC 3和Fluent验证.我希望我的所有错误消息都措辞和格式相同,无论它们是验证错误消息还是模型绑定错误消息.
假设我有以下视图模型: [Validator(typeof(PersonValidator))] public class Person { [ScaffoldColumn(false)] public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } 要使用Fluent验证来验证这一点,我可能会使用以下内容: public class EditorValidator : AbstractValidator<EditorModel> { public EditorValidator() { RuleFor(model => model.Month.Value).InclusiveBetween(0,120) } } 如果用户输入Age的“abc”,则会导致模型绑定错误,而不是验证错误.这是因为“abc”不是int.系统甚至不会询问“abc”是否在0到120之间,因为“abc”不能存储在Age中. 这很好,很有意义.问题是生成的错误消息是:
我希望格式化的信息和措辞与Fluent Validation生成的其他错误消息一样.在这种情况下,我想:
我意识到这只是一个微妙的区别,但我想控制模型绑定错误消息. 如何自定义模型绑定错误消息以匹配Fluent验证使用的错误消息? 解决方法
我不确定是否有另一种方法可以做到这一点,但我使用
Data Annotations Extensions,也可以通过NuGet(Install-Package DataAnnotationsExtensions.MVC3)获得这种确切类型的东西.这个包将为您提供一个IntegerAttribute,从那里您可以指定一条错误消息,如下所示:
[Integer(ErrorMessage = "'Age' must be a number.")] public int Age { get; set; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – web.config继承:导致XML解析错误
- ASP.NET LinqDataSource数据绑定后,遇到[MissingMethodExc
- asp.net – Mono vhost配置错误:地址已经在使用
- asp.net mvc基于jQuery+Ajax实现无刷新分页
- 在asp.net按钮中添加图像和文本
- ASP.NET Web API私有控制器
- asp.net-mvc-3 – 如何在MVC3中格式化小数超过2位小数
- asp.net – GridView中的工具提示
- asp.net-mvc-3 – ASP.NET MVC强类型HTML帮助程序
- asp.net-mvc-5 – MVC5:我在哪里可以获得System.Web.Mvc.p
推荐文章
站长推荐
- asp.net-mvc-3 – Autofac属性注入
- asp.net – 如何使用Web服务返回接口或“复杂”值
- asp.net – NHibernate – 访问同一数据库的两个
- asp.net-mvc – NHibernate Validator和ASP.NET
- asp.net – 额外的文件夹附加到我的Web根目录在A
- ASP.net在发布时不会填充服务器表单的action =“
- asp.net-mvc – 将Elmah与WebApi一起使用时会记录
- asp.net-mvc – Angular 2:如何在不使用路由的情
- 何时在ASP.NET MVC 2应用程序中提交NHibernate事
- ASP.NET Core:部署项目到Ubuntu Server
热点阅读