asp.net-mvc – MVC数据注释范围验证无法正常工作
发布时间:2020-05-23 17:33:35 所属栏目: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 – 使用必填字段验证器更改文本框颜色 无扩展器控制
- ASP.Net httpruntime executionTimeout不工作(而且debug =
- asp.net-mvc – 从Application_Start中获取网站的URL?
- IIS中的Asp.Net核心MVC应用程序Windows身份验证
- ASP.Net MVC路线映射
- asp.net-mvc – formcollection只保存所选的html.listbox项
- asp.net-core – 将命名空间添加到ASP.NET MVC 6中的所有视
- ASP.NET @Register和@Reference
- asp.net-mvc – 为什么IIS没有清理池回收导致网站内存异常的
- asp.net-mvc – 使用实体框架4.1创建复合主键
推荐文章
站长推荐
- asp.net-mvc – MVC – 在同一页面上与多个实体进
- .net – 将HtmlTextWriter的内容转换为字符串
- 如何检查ASP.Net中客户端(JavaScript)的Page.Val
- asp.net-mvc – 使用像Stackoverflow这样的查询字
- asp.net-mvc – 当Bundling EnableOptimizations
- asp.net – 在ASP MVC 6中为多个路由分配给同一个
- asp.net-mvc – 使用MVC Web应用程序时Nhibernat
- 为什么[System.ComponentModel.ToolboxItem(fals
- asp.net – Global.asax PostAuthenticateReques
- asp.net-mvc-3 – ASP.Net MVC 3:在html.DropDo
热点阅读
