3
我使用ASP.NET MVC 3 Razor,带有jQuery验证插件来构建注册表单。 所以,我包括在此:MVC3 Razor/JQuery客户端验证不工作
<script src="@Url.Content("~/Scripts/jquery-1.4.4.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
我已在我的web.config以下:
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
我的剃刀形式如下:
@model bop.Web.Models.ProfileModel
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Page title</h2>
@Html.ValidationSummary(true)
@using (Html.BeginForm("Register", "Profile", FormMethod.Post, new { id = "RegForm" }))
{
<fieldset>
<div class="editor-label">
@Html.LabelFor(model => model.companyName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.companyName)
@Html.ValidationMessageFor(model => model.companyName)
</div>
<div>
... here other input fields ...
</div>
<a href="#" id="nextbtn1">GO TO STEP 2</a>
</fieldset>
在底部我有:
<script type="text/javascript">
$(document).ready(function() {
$('#nextbtn1').click(function() { // bind click event to link
$("#RegForm").validate();
if ($("#RegForm").valid()) {
var $tabs = $('#tabs').tabs(); // first tab selected
$tabs.tabs('select', 1); // select second tab
return false;
}
}
}
</script>
我在点击事件上使用了绑定,因为我的注册表单被分割为3个选项卡,因此我将在第三步中执行提交。
的问题是,当我点击“转到步骤2”按钮,我得到这个错误:
Run-time error in Microsoft JScript: Object does not support this property or method 'validate'
很多预先感谢帮助的指针。
感谢counsellorben, 只是这样做,但现在我得到类似的错误: 运行 - Microsoft JScript中的实时错误:对象不支持此属性或方法'验证' – User907863
解决了这个问题。 我有包含在_Layout.cshtml文件中的jquery.validate.js。如果我直接在我的View中包含该脚本,那么所有工作都可以正常工作除此之外,我认为将所有脚本包含在布局中是正确的,而不是将它们插入到每个视图中。任何想法?非常感谢。 – User907863
这很奇怪。我将这些脚本包含在我的_Layout.cshtml文件中,并没有出现问题。脚本是否位于布局文件中的'
'元素中? – counsellorben