我正在开发一个 asp.net mvc 3 应用程序,但我在让不显眼的 JS 验证工作时遇到问题。我问过非常类似的问题,但由于我没有得到任何答案,但我认为我设法更好地定义了我的问题,所以我现在写了这个问题。
在寻找如何使客户端验证工作的答案时,我发现必须有一些代码附加到提交按钮的单击事件,这将启动验证过程。我不能 100% 确定是这样,这实际上是我的问题,但如果我是正确的,你能帮我添加我需要添加的 JS,以便可以触发验证过程。
这是我的表格:
@using (Html.BeginForm("RecieveDataFromDocument", "Forms", FormMethod.Post))
{
@Html.ValidationSummary(true)
<table border="1">
<colgroup>
<col span="1" style="width: 10%;" />
<col span="1" style="width: 40%;" />
<col span="1" style="width: 25%;" />
<col span="1" style="width: 25%;" />
</colgroup>
@Html.Partial("_PartialHeader", Model)
@Html.Partial("_PartialDrawing", Model)
@Html.Partial("_PartialBody", Model)
@Html.Partial("_PartialFooter", Model)
</table>
if (ViewBag.Status == 1)
{
<button type="submit" id="submitDocument">Save</button>
}
else
{
@Html.ActionLink("Back", "Index")
}
}
在同一 View 的底部我有这个 JS :
<div>
<script type="text/javascript">
$(document).ready(function () {
$('#submitDocument').click(function () {
window.alert('Hi');
var test = ($("form").valid());
window.alert('bye');
})
});
</script>
</div>
从我到目前为止的测试来看,我可以看到 Hi
消息,但即使我评论它,我也永远不会收到 bye
消息。因此,任何帮助将不胜感激。
附注
我已将其包含在我的 _Layout
页面中:
<script src="@Url.Content("~/Scripts/jquery-1.8.3.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.10.3.custom.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/plugins/jqGrid/jquery-ui-1.8.16.custom.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/PageHelpers/jqDateTimePicker.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/plugins/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/plugins/jquery.validate.js")" type="text/javascript"></script>
我尝试明确包含这些:
<script src="@Url.Content("~/Scripts/plugins/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/plugins/jquery.validate.js")" type="text/javascript"></script>
在我看来。所以这样的设置是行不通的。
最佳答案
您需要在页面上包含 jQuery 和 jQuery Validate 插件脚本。
如果您还包含 ASP.Net MVC 不显眼的验证脚本,一切都会自动发生。
编辑:您需要在 jQuery Validate 之后包含不显眼的验证脚本,否则自动设置将无法工作。
关于jquery - 使用 BeginForm 帮助程序时启动客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16671720/