我已经设置了一个包含自己的表单标签的局部视图,如下所示:
<tr>
@using (Html.BeginForm("Create"))
{
<td>
@Html.TextBoxFor(model => model.Date)
@Html.ValidationMessageFor(model => model.Date)
</td>
<td>
@Html.TextBoxFor(model => model.Amount)
@Html.ValidationMessageFor(model => model.Amount)
</td>
<td>
@Html.TextBoxFor(model => model.Tags)
@Html.ValidationMessageFor(model => model.Tags)
</td>
<td>
@Html.EnumDropDownListFor(model => model.Type)
</td>
<td>
<input type="submit" value="Add" />
@Html.ValidationSummary(true)
</td>
}
</tr>
我使用 @Html.Action("Create") 在页面上呈现它(它是表格的一部分,因此是 <tr> 标签。
出于某种奇怪的原因,我的客户端验证不起作用,我首先在发布时看到错误。
部分视图和客户端验证有什么特别之处吗?
我已包含以下脚本:
<script src="/Scripts/jquery.1.5.1.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
编辑
我只是试着把这个脚本扔到页面上:
jQuery('form').submit(function ()
{
alert(jQuery(this).valid());
});
它警告“真”,所以客户端验证脚本肯定在那里,并且由于某种原因它没有检查有问题的字段:-/
编辑 2
我已将页面的整个源代码(HTML + JS)上传到 pastebin: http: //pastebin.com/GvqLW495