asp.net – 自定义验证属性不呈现客户端验证属性
发布时间:2020-12-16 03:16:49 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试在MVC 6上实现客户端一半的自定义验证属性.服务器端正常工作,其他客户端属性(如[Required])正常工作,但我的不显眼的data-val属性不会出现在渲染的字段. 根据我在Github上搜索源代码看到的内容,我不需要做任何其他事情.我在这里错过了什么? [Attri
我正在尝试在MVC 6上实现客户端一半的自定义验证属性.服务器端正常工作,其他客户端属性(如[Required])正常工作,但我的不显眼的data-val属性不会出现在渲染的字段.
根据我在Github上搜索源代码看到的内容,我不需要做任何其他事情.我在这里错过了什么? [AttributeUsage(AttributeTargets.Property,AllowMultiple = false,Inherited = true)] public class PastDateOnlyAttribute : ValidationAttribute,IClientModelValidator { private const string DefaultErrorMessage = "Date must be earlier than today."; public override string FormatErrorMessage(string name) { return DefaultErrorMessage; } public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ClientModelValidationContext context) { var rule = new ModelClientValidationPastDateOnlyRule(FormatErrorMessage(context.ModelMetadata.GetDisplayName())); return new[] { rule }; } protected override ValidationResult IsValid(object value,ValidationContext validationContext) { if (value != null) { var now = DateTime.Now.Date; var dte = (DateTime)value; if (now <= dte) { return new ValidationResult(FormatErrorMessage(validationContext.DisplayName)); } } return ValidationResult.Success; } } public class ModelClientValidationPastDateOnlyRule : ModelClientValidationRule { private const string PastOnlyValidateType = "pastdateonly"; private const string MaxDate = "maxdate"; public ModelClientValidationPastDateOnlyRule( string errorMessage) : base(validationType: PastOnlyValidateType,errorMessage: errorMessage) { ValidationParameters.Add(MaxDate,DateTime.Now.Date); } } (省略JavaScript代码,因为它不相关.) 解决方法
一个老问题,但似乎这确实是测试版中的一个错误.它全部在RTM版本中工作,并且data-val- *属性被正确呈现.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何配置asp.net进程在域帐户下运行?
- 【Asp.Net MVC+EF+三层架构】详解(四)MVC框架操作步骤
- asp.net-mvc – 如何在Ajax窗体的asp.net mvc中提交下拉列表
- asp.net-mvc – ReadOnly(true)是否与Html.EditorForModel一
- asp.net – 会话状态超时与空闲超时
- asp.net-mvc – 带有dropdownList的Telerik网格
- asp.net-mvc – 更新到MVC 5后,iframe不再有效
- asp.net-mvc-4 – OAuth2和DotNetOpenAuth – 实现Google自
- Ajax.BeginForm()知多少
- asp.net-mvc – ASP.NET MVC jQueryUI datepicker在使用AJA
推荐文章
站长推荐
- 如何将asp.net文本框滚动到底部
- asp.net-mvc-3 – 如何在MVC3中将附加列添加到We
- 如何从ASP.NET MVC中的窗体身份验证拦截401?
- asp.net-mvc – 迁移到WebApi 2.2 RC并获取响应状
- asp.net – 无法将“ASP._Page__ViewStart_cshtm
- 谈自由,ASP.NET Core才是未来?
- [和管子对话] 2 2007-4-6/抽象类和接口的谁是谁非
- asp.net中程序水晶报告的正确形式是什么?和视觉
- asp.net-mvc-3 – 希望通过_layout将@renderbody
- asp.net – 如何从CLASS(Inside Class)调用ASPX页
热点阅读