Asp.net mvc MVC模型验证未触发
我的服务模型中有以下内容Asp.net mvc MVC模型验证未触发,asp.net-mvc,vb.net,Asp.net Mvc,Vb.net,我的服务模型中有以下内容 <DisplayName("Description")> <DataType(DataType.Text)> <StringLength(30)> Public Property Description() As String Get Return m_Description End Get Set m_Description = Value End Set End Pr
<DisplayName("Description")>
<DataType(DataType.Text)>
<StringLength(30)>
Public Property Description() As String
Get
Return m_Description
End Get
Set
m_Description = Value
End Set
End Property
Private m_Description As String
公共属性描述()为字符串
得到
返回m_描述
结束
设置
m_Description=值
端集
端属性
私有m_描述为字符串
在我看来,这是不公平的
@ModelType CDB.ServiceDetail
@Code
Dim sb as New StringBuilder
'Description
sb.Append("<div class=""rowBlock"">")
sb.Append("<div class=""rowTitle"">")
sb.Append(Html.DisplayNameFor(Function(model) model.Description))
sb.Append(":</div><div class=""rowValue"">")
sb.Append(Html.TextBoxFor(Function(model) model.Description))
sb.Append("</div>")
sb.Append("</div>")
End Code
<div id="divService" name="divService" style="width:100%">
@Html.Raw(sb.ToString())
</div>
@ModelType CDB.ServiceDetail
@代码
使某人成为新的架线工
“描述
某人加上(“”)
某人加上(“”)
sb.Append(Html.DisplayNameFor(函数(模型)模型描述))
某人附加(“:”)
sb.Append(Html.TextBoxFor(函数(模型)模型描述))
某人加上(“”)
某人加上(“”)
结束代码
@Html.Raw(sb.ToString())
如果输入的描述字符超过30个,则不会出错。你知道为什么吗?如果相关的话,我使用的是MVC5
更新
我的脚本在布局母版中
<script src="@Url.Content("~/Scripts/kendo/2015.3.1111/jquery.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/2015.3.1111/jszip.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/2015.3.1111/kendo.all.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/2015.3.1111/kendo.aspnetmvc.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo.modernizr.custom.js")"></script>
尝试将jqueryval插件的脚本渲染添加到局部视图中
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
默认情况下,这些捆绑包在AppStart.BundleConfig中的mvc模板中设置
VB语法:
@section Scripts
@Scripts.Render("~/bundles/jqueryval")
End Section
当您在控制器中检查ModelState.IsValid时,它是否显示该模型有效?@DavidY我是MVC新手。。。我认为这些设置进行了客户端验证,从示例中我看到了验证是在客户端进行的。例子。。。它们将执行客户端验证,但您也可以执行服务器端验证。如果服务器端验证能够正常工作,那么我想可能会有一个问题,那就是如何为部分视图设置jQuery。通常视图继承共享视图,即_layout.cshtml文件,默认情况下,该文件包含jquery includes以进行验证。我怀疑部分视图设置中可能缺少这一点。我认为Microsoft文章将是整个过程的一个更完整的示例@大卫。。。我已经更新了我的问题,添加了对布局中存在的脚本的引用。我有什么遗漏吗?这真是个骗局。。。已经为其他人添加了vb razor语法。