5

MicrosoftMvcJQueryValidation.js由 ASP.NET MVC 2 用于客户端验证。

这个文件有问题只是不能正常工作,想知道我是否有错误的版本。

我使用的版本来自期货的来源。

 MicrosoftMvcJQueryValidation.js
 5,626 bytes
 11/17/09 10:43:12am

我认为我的版本错误有两个原因:

1)我实际上必须调用此代码才能使验证例程完全正常工作。这是因为现在嵌入的默认客户端验证功能FormContext.csSys.Mvc.FormValidation.enableClientValidation.

 ViewContext.FormContext.ClientValidationFunction = "EnableClientValidation";

2) jquery.validate.js 中有一些代码执行以下操作:

  this.settings.errorPlacement
    ? this.settings.errorPlacement(label, $(element) )
    : label.insertAfter(element);

这会在以下位置调用此函数MicrosoftMvcJQueryValidation.js

 errorPlacement: function(error, element) {
        var messageSpan = fieldToMessageMappings[element.attr("name")];
        $(messageSpan).empty();
        $(messageSpan).removeClass("field-validation-valid");
        $(messageSpan).addClass("field-validation-error");
        error.removeClass("input-validation-error");
        error.attr("_for_validation_message", messageSpan);
        error.appendTo(messageSpan);
    },

问题是元素已被jQuery.validatejQuery$(element)表达式包裹。

因此element.attr("name")未定义,但element[0].attr("name")有效。

我从微软网站MicrosoftMvcJQueryValidation.js上的期货下载中获取。`

我找不到任何其他MicrosoftMvcJQueryValidation版本 - 但我确信一定有一个。任何人都可以帮忙吗?

4

1 回答 1

6

截至 2009 年 12 月 17 日,最新版本MicrosoftMvcJQueryValidation.js可在期货下载项目中获得。

小心包含MicrosoftMvcJQueryValidation.js不是类似名称的 MicrosoftMvcValidation.js.

于 2009-12-27T01:43:58.500 回答