asp.net-mvc – MVC数据注释范围验证无法正常工作
发布时间:2020-12-16 00:32:01 所属栏目:asp.Net 来源:网络整理
导读:我在我的模型中的属性上有一个RangeValidator,只允许在0到100之间的整数。我有一个部分视图,显示一个窗体来通过jQuery UI对话框更新属性。我查看了源代码,可以确认数据注释属性是否正确生成。但是,验证无法正常工作。它确实执行某种验证,但它没有使用我
我在我的模型中的属性上有一个RangeValidator,只允许在0到100之间的整数。我有一个部分视图,显示一个窗体来通过jQuery UI对话框更新属性。我查看了源代码,可以确认数据注释属性是否正确生成。但是,验证无法正常工作。它确实执行某种验证,但它没有使用我设置的范围。值1,10和100不会产生错误。任何其他一个或两个数字值产生错误。但是,如果我用零填充,所有值都小于一百是不错的。
模型: public class MyModel { ... [Required(ErrorMessage = "{0} is required")] [Range(typeof(int),"0","100",ErrorMessage = "{0} can only be between {1} and {2}")] public int Percentage { get; set; } ... } 部分视图: @model MyApp.Models.Partials.MyModel <div id="myDialog" class="editModal" title="Update Percentage"> @using (Ajax.BeginForm("UpdatePercentage","MyController",new AjaxOptions() { HttpMethod = "Post",OnSuccess = "onUpdateSuccess" },new { name = "myForm" })) { @Html.ValidationSummary(null,new { style = "width:auto;max-width:22em; float:left;clear:both;" }) <div style="width:auto;float:left;clear:both;"> <div style="width:10em;float: left;text-align:right;clear:left;"> @Html.Label("Percentage:") </div> <div style="width:12em;margin-left:1em;float:left;clear:right;"> @Html.TextBoxFor(m => m.Percentage) </div> </div> <div style="width:23em;clear:both;text-align:center;"> <hr /> <input type="button" value="Cancel" class="cancelModalButton" data-modal="myDialog" /> <input type="submit" value="Submit" class="submitModalButton" data-modal="myDialog" data-form="myForm" /> </div> } </div> 标记产生: <div id="myDialog" class="editModal" title="Update Percentage"> <form action="/Web/MyController/UpdatePercentage?Length=3" data-ajax="true" data-ajax-method="Post" data-ajax-success="onUpdateSuccess" id="form2" method="post" name="myForm"> <div class="validation-summary-valid" data-valmsg-summary="true" style="width:auto;max-width:22em;float:left;clear:both;"> <ul> <li style="display:none"></li> </ul> </div> <div style="width:auto;float:left;clear:both;margin-bottom:.75em;"> <div style="width:10em;float: left;text-align:right;clear:left;"> <label for="Percentage:">Percentage:</label> </div> <div style="width:12em;margin-left:1em;float:left;clear:right;"> <input data-val="true" data-val-number="The field Percentage must be a number." data-val-range="Percentage can only be between 0 and 100" data-val-range-max="100" data-val-range-min="0" data-val-required="Percentage is required" id="Percentage" name="Percentage" type="text" value="10" /> </div> </div> <div style="width:23em;clear:both;text-align:center;"> <hr /> <input type="button" value="Cancel" class="cancelModalButton" data-modal="myDialog" /> <input type="submit" value="Submit" class="submitModalButton" data-modal="myDialog" data-form="myForm" /> </div> </form> </div> 我看到该类型设置为文本,如果我将我的TextBoxFor更改为编辑器它的数字,但我仍然看到相同的行为。 解决方法
我有这个确切的问题,找到了解决方案
here.您需要升级以下内容:
jQuery验证(至少1.11.1) 该问题是通过破坏jQuery 1.9.1中的更改??来引入的 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ViewData Dictionary的范围是什么?
- asp.net-mvc – 使用linq2sql在c#mvc中不显示所选项的多选列
- asp.net – jquery禁用特定时间的按钮
- asp.net-mvc – 不显着的验证不工作在动态添加的局部视图
- asp.net – 避免在web.config中提供服务器连接字符串
- asp.net-mvc – Asp.net MVC路由模糊,同一页面有两条路径
- 如何配置ASP.NET MVC项目以使用Boo
- asp.net-mvc – ASP.NET MVC – 数据库的替代方案
- asp.net-mvc – ASP.NET MVC – 在哪里抛出异常?
- asp.net-mvc – Asp.net Identity:User.Identity.GetUserI