Jquery MVC 4客户端validation无效

我正在尝试在一个简单的MVC 4应用程序上使用jQueryvalidation插件 – 这是我在MVC 3中完成的,没有任何问题,但我根本无法使用它。

我希望validation在以下情况下触发:

1 – 我的控制失去了焦点。

2-表格提交。

关于我错过的任何想法将不胜感激!

_Layout.cshtml中的脚本引用

   @ViewBag.Title - AWC Web Console   @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr")     

在Doc ready函数中应用validationJS的Index.cshtml标记

   $(document).ready(function () { alert("doc ready"); // JQuery client validation $("#prodIdFilterForm").validate( { onsubmit: true, rules: { productId_str: {required: true, minlength: 10, number:true } }, messages: { productId_str: "product Id must be entered" }, // Force validation when control looses focus onfocusout: function (element) { alert("onfocusout"); // not entering this block ! $("#productId_str").removeAttr('style'); $("#productId_str").valid(); // fire validation $(element).valid(); } , showErrors: function (errorMap, errorList) { if (errorList.length > 0) { for (var i = 0; i < errorList.length; i++) { $("#" + errorList[i].element.id).css({ 'background-color': '#FFDFDF' }); } } } } ); }); // DocReady  

forms标记的正文

 @{ ViewBag.Title = "Messages"; Layout = "~/Views/Shared/_Layout.cshtml"; } @using ( Html.BeginForm("SelectProduct", "WMSMessages", Model, FormMethod.Post, new { @id = "prodIdFilterForm"} ) ) { 
SelectExtensions Product
Product Id: @Html.TextBoxFor(model => model.productId_str, new { @id ="productId_str"} )
}

对于客户端validataion,microsoft使用jquery.validate.unobtrusive.js文件。 客户端validationasp.net mvc

启用客户端validation

要在ASP.NET MVC 3中启用客户端validation,必须设置两个标志,并且必须包含三个JavaScript文件。

打开应用程序的Web.config文件。 validation应用程序设置中的ClientValidationEnabled和UnobtrusiveJavaScriptEnabled是否设置为true。 根Web.config文件中的以下片段显示正确的设置:

      

将UnobtrusiveJavaScriptEnabled设置为true可以实现不显眼的Ajax和不显眼的客户端validation。 使用不显眼的validation时,validation规则将转换为HTML5属性。 HTML5属性名称只能由小写字母,数字和短划线组成

例如,如果您说电子邮件的必要属性及其错误消息。 它会将数据属性附加到这样的元素。

   

将ClientValidationEnabled设置为true可启用客户端validation。 通过在应用程序Web.config文件中设置这些键,可以为整个应用程序启用客户端validation和不显眼的JavaScript。 您还可以使用以下代码在单个视图或控制器方法中启用或禁用这些设置:

了解更多信息:

  1. Asp.net MVCvalidation
  2. MVC客户端validation