asp.net-mvc – StringLength / Minlength验证不会阻止用户发布
发布时间:2020-12-16 06:48:57 所属栏目:asp.Net 来源:网络整理
导读:我的ViewModel上有以下属性 [StringLength(20,MinimumLength = 1,ErrorMessageResourceName = "Error_StringLength",ErrorMessageResourceType = typeof(Global))]public string LeagueName { get; set; } 如果字符串最终大于20个字符,则验证将触发,并且不允
我的ViewModel上有以下属性
[StringLength(20,MinimumLength = 1,ErrorMessageResourceName = "Error_StringLength",ErrorMessageResourceType = typeof(Global))] public string LeagueName { get; set; } 如果字符串最终大于20个字符,则验证将触发,并且不允许用户发布表单.但是,如果该字段为空,这意味着LeagueName属性的长度小于1,则允许用户发布表单. 我知道这可以通过使用Required属性轻松解决,但为什么验证在这种情况下不能按预期工作? 解决方法
这是设计的.
这是StringLength的验证逻辑: public override bool IsValid(object value) { this.EnsureLegalLengths(); int num = value == null ? 0 : ((string) value).Length; if (value == null) return true; if (num >= this.MinimumLength) return num <= this.MaximumLength; else return false; } 如您所见,当字符串为null时,StringLength返回true. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在IIS上部署ASP.NET Core项目的图文方法
- asp.net-mvc-3 – 有没有办法迭代ASP.NET MVC3站点中的所有
- asp.net – 如何将Enter键与aspx页面上的按钮相关联?
- asp.net – 更改单个URL查询字符串值
- asp.net-mvc – ASP.NET MVC – 主页面和视图页面的不同模型
- 如何在ASP.NET和C#中加载下拉列表?
- ASP.NET Core 2.0 入门
- asp.net-mvc – Customer Feedback替代UserVoice?
- asp.net-mvc – Angular 2:如何在不使用路由的情况下从URL
- ASP.NET MVC集成EntLib实现“自动化”异常处理[实现篇]
推荐文章
站长推荐
- ASP.NET网站的选项卡
- asp.net-mvc – 用于电话号码或社会安全号码的Di
- asp.net-mvc – 用于子操作的ASP.NET MVC路由匹配
- asp.net-mvc-4 – LinkedIn在MVC4中使用DotNetOp
- asp.net-mvc – System.Web.Optimization使函数参
- 如何在ASP.NET和WCF之间对用户进行身份验证?
- asp.net-mvc-3 – Telerik MVC网格,在运行时从集
- asp.net – 在向下滚动页面后,对于webkit浏览器,
- asp.net-mvc – 使用BootstrapValidator与MVC Da
- asp.net-mvc-3 – 我应该尝试使用MVC3和ASP.net的
热点阅读