Я использую ASP.NET MVC 3 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>
Я использую bind для события click, потому что моя регистрационная форма разбита на 3 вкладки, поэтому я выполню отправку на третьем шаге.
Проблема в том, что когда я нажимаю кнопку «Перейти к шагу 2», я получаю эту ошибку:
Run-time error in Microsoft JScript: Object does not support this property or method 'validate'
Большое спасибо заранее за полезные указатели.