asp.net-mvc-2 – ASP.NET MVC数据注释客户端验证与继承的Regula
发布时间:2020-12-16 00:46:23 所属栏目:asp.Net 来源:网络整理
导读:为了保持我的模型验证清洁我想实现我自己的验证属性,如PhoneNumberAttribute和EmailAttribute。其中一些可以有利地被实现为继承自RegularExpressionAttribute的简单类。 但是,我注意到这样做会破坏这些属性的客户端验证。我假设有某种类型的绑定在某个地方
为了保持我的模型验证清洁我想实现我自己的验证属性,如PhoneNumberAttribute和EmailAttribute。其中一些可以有利地被实现为继承自RegularExpressionAttribute的简单类。
但是,我注意到这样做会破坏这些属性的客户端验证。我假设有某种类型的绑定在某个地方失败。 任何想法我可以做什么来让客户端验证工作? 代码示例: public sealed class MailAddressAttribute : RegularExpressionAttribute { public MailAddressAttribute() : base(@"^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}$") { } } 解决方法
您需要为自定义属性注册客户端验证适配器。在这种情况下,您可以使用System.Web.Mvc中的现有RegularExpressionAttributeAdapter,因为它应该与标准regex属性完全相同。然后在应用程序开始使用时注册它:
DataAnnotationsModelValidatorProvider.RegisterAdapter( typeof(MailAddressAttribute),typeof(RegularExpressionAttributeAdapter)); 您应该编写一个需要自定义客户端验证的属性,您可以从DataAnnotationsModelValidator继承自己的适配器(另见Phil Haack’s blog)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在浏览器的新选项卡中打开PDF
- asp.net-mvc – 每当我在MVC3中请求新页面时,都会创建我的控
- .net – 回发数据和视图状态数据之间的区别是什么
- asp.net – 使CustomValidator与ValidationSummary消息框一
- ASP.NET(MVC)Outputcache和并发请求
- asp.net-mvc – Web Essentials浏览器链接在Visual Studio
- 配置多个.Net应用程序的最佳方法
- asp.net-mvc – Web API模型绑定器不能与HttpPostedFileBas
- asp.net – VS2008中的许多ascx-to-one ascx.cs错误
- 将ASP.NET 5(vNext)站点部署到IIS 8
推荐文章
站长推荐
- .net – 404控制器在外部组件
- asp.net:runat =“server”和服务器控件之间的区
- asp.net-core – 如何使用带有IdentityServer4的
- asp.net-mvc-3 – RoleProvider不能与服务器上的
- ASP.NET MVC 3 – 如何以有效的方式限制区域?
- asp.net-mvc-3 – 实体框架将float数据类型映射为
- asp.net-mvc – 在MVC 5应用程序中使用autofac i
- asp.net – Session不会保留值并始终返回null
- 在ASP.NET MVC 3中将参数从JQuery传递到Controll
- asp.net-mvc-5 – 在禁用的TextBoxFor中只读是什
热点阅读