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
版本 - 但我确信必须有一个版本。有人可以帮忙吗?
答案 0 :(得分:6)
截至2009年12月17日,futures download project中提供了MicrosoftMvcJQueryValidation.js
的最新版本。
小心包括MicrosoftMvcJQueryValidation.js
和NOT the similarly named MicrosoftMvcValidation.js
。