如何禁用jquery.unobstrusive并在MVC表单中启用jquery.validate

时间:2016-09-12 22:38:44

标签: asp.net-mvc jquery-validate unobtrusive-validation ajax.beginform

我有一个MVC表单,我使用JQuery.Validate.js插件来验证我的所有控件。现在我需要让表单以异步方式提交值,所以我利用了Ajax.BeginForm(),我还必须包含jquery.validate.unobtrusive.js插件来异步传递值。 现在我的问题是当我开始使用jquery.validate.unobtrusive.js插件时,我使用jQuery.Validate进行验证的所有验证都进行了折腾并且验证没有被触发,而是我的数据注释验证被解雇了我不想要。 这是我正在使用的链接

<script src="~/Scripts/Jquery/jquery.validate.min.js"></script> 
<script src="~/Scripts/Jquery/additional-methods.min.js"></script> 
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
@using (Ajax.BeginForm(new AjaxOptions { HttpMethod = "Post", OnBegin = "onBegin", OnSuccess = "success", OnFailure = "fail", Url = "~/UserManagement/EditingPopup_Create" }))
{
  @Html.LabelFor(model => model.FirstName)
                    @Html.TextBoxFor(model => model.FirstName, new { @class = "form-control", tabindex = 1 })
                    @Html.ValidationMessageFor(model => model.FirstName)
  <input type="submit" value="Submit" class="btn-default" />
}

任何人都可以帮助我确定我的方法究竟应该是什么,以及为什么会出现这种问题。谢谢

1 个答案:

答案 0 :(得分:0)

对不起,这最终是我的错。我正在使用

<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>

当我应该实际使用

<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>

我从来不知道jquery.validate.unobtrusive.js&amp; jquery.unobtrusive-ajax.js都不同。