asp.net-mvc-2 – ASP.NET MVC数据注释客户端验证与继承的RegularExpressionAtt
发布时间:2020-05-23 15:04:05 所属栏目: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 – 在.NET .NET中ctl00是常量吗?
- asp.net – Elmah vs Elmah.MVC Nuget软件包 – 哪些使用和
- asp.net-mvc – Telerik mvc grid,columns.bound to dictio
- ASP.NET中的应用程序生存期
- asp.net-mvc – 在MVC ActionLink中使用Knockout绑定
- asp.net+ajaxfileupload.js 实现文件异步上传代码分享
- asp.net-mvc – 什么是AsyncManager.OutstandingOperations
- asp.net-mvc-5 – 确认邮件中的aspnet身份无效令牌
- .net – 实体单位工作和存储库模式的好处
- 单元测试 – 使用MOQ对象进行ASP.NET MVC单元测试
推荐文章
站长推荐
- asp.net-core – 从与xproj相同的解决方案引用cs
- asp.net – 如何在Web应用程序中对PDF文档进行数
- asp.net-mvc-3 – 我可以在App_Code之外使用全局
- asp.net-mvc – 使ASP.NET绑定指定media =屏幕的
- 如何测量Live ASP.NET MVC Web应用程序的内存使用
- asp.net – FormsAuthentication.SetAuthCookie做
- asp.net – 为什么在FireFox中禁用时链接按钮不会
- 收藏的asp.net文件上传类源码
- asp.net – 替换过时的System.Xml.XmlDataDocume
- 深蓝词库转换1.6发布
热点阅读
