asp.net-mvc – 使用ASP.NET MVC 3本地化非数据注释错误的最佳方
发布时间:2020-12-16 07:39:20 所属栏目:asp.Net 来源:网络整理
导读:使用Data Annotations,现在可以使用Resource.resx文件轻松本地化错误消息,例如: public class Student{ . . . [Required(ErrorMessageResourceName ="Required",ErrorMessageResourceType = typeof(StudentResources))] [StringLength(16)] [Display(Name =
使用Data Annotations,现在可以使用Resource.resx文件轻松本地化错误消息,例如:
public class Student { . . . [Required(ErrorMessageResourceName ="Required",ErrorMessageResourceType = typeof(StudentResources))] [StringLength(16)] [Display(Name = "FirstName",ResourceType = typeof(StudentResources))] public string FirstName { get; set; } . . . } 现在,假设我想检查学生是否已经在某个月和一年内付款: public bool CheckIfAlreadyPaid(Payment payment) { return repository.GetPayments().Any(p => p.StudentId == payment.StudentId && p.Month == payment.Month && p.Year == payment.Year); } 如果他已经付款,我在服务层执行以下操作: if (CheckIfAlreadyPaid(payment)) { modelState.AddModelError("AlreadyPaid",Resources.Views.Payment.PaymentCreateResources.AlreadyPaid); } 它可以工作,但我对在服务层内引用资源文件没有信心. 是否存在一种标准或更好的本地化错误消息的方法,这些错误消息与模型属性(数据注释)无关 – 来自业务逻辑规则的错误?我还应该将这些错误添加到ModelStateDictionary吗? 解决方法
我同意,我认为不应该在服务层.看起来它既可以放入自定义数据验证属性,也可以在该级别使用其他方法处理(使用
Fluent Validation可能是一个不错的选择).无论哪种方式,我认为只要验证保留在MVC应用程序本身,您就可以使用资源文件来存储消息.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – Autofac实例注册的SingleInstance()能否在IIS A
- asp.net core 2.0 webapi集成signalr
- asp.net-mvc – 我可以在’单元测试’时使用断点(如调试时)
- asp.net-mvc – automapper,你在哪里放置代码将View Model映
- asp.net – 客户端IP地址
- asp.net – .NET 4.5 WebForms:我(仍然)真的必须在FormVie
- vbscript – 尝试在.VBS文件中“包含”.ASP文件
- asp.net – RazorViewEngine.FindView无法找到预编译的视图
- asp.net-mvc-3 – 我应该将我的实用程序类放在ASP.NET MVC3
- asp.net服务器控件中的默认值
推荐文章
站长推荐
- 实体框架 – Unity Lifetime Managers和EF Data
- asp.net-mvc – 如何从asp.net mvc响应中删除s-m
- asp.net-mvc – 将隐藏文本字段附加到表单MVC
- asp.net-mvc-3 – MVC3 Html.EditorFor在我的视图
- .net – Real Life与SOLID开发合作
- 与asp.net mvc一起使用的好IOC框架?
- ASP.NET MVC:OutputCache的问题
- asp.net – 报表查看器Web控件HTTP处理程序尚未在
- asp.net – 检查.NET中两个双精度相等的问题 –
- asp.net-mvc – 从MVC剃刀模型调用Bootstrap 3 M
热点阅读