适用于MVC 2 beta 2的MicrosoftMvcJQueryValidation.js版本在哪里?

时间:2009-12-10 01:17:31

标签: asp.net-mvc asp.net-mvc-2

ASP.NET MVC 2使用

MicrosoftMvcJQueryValidation.js进行客户端验证。

此文件出现问题时工作不正常,并且想知道我的版本是否错误。

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

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

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

1)我实际上必须调用此代码才能使验证例程正常工作。这是因为现在嵌入FormContext.cs的默认客户端验证功能是Sys.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.validate用jQuery $(element)表达式包装。

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

我从Microsoft's site的期货下载中获取了MicrosoftMvcJQueryValidation.js。 `

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

1 个答案:

答案 0 :(得分:6)

截至2009年12月17日,futures download project中提供了MicrosoftMvcJQueryValidation.js的最新版本。

小心包括MicrosoftMvcJQueryValidation.jsNOT the similarly named MicrosoftMvcValidation.js