MicrosoftMvcJQueryValidation.js
クライアント側の検証のために ASP.NET MVC 2 によって使用されます。
このファイルに問題があり、正しく機能しないだけで、バージョンが間違っているのではないかと考えています。
私が使用しているバージョンは、先物のソースからのものです。
MicrosoftMvcJQueryValidation.js
5,626 bytes
11/17/09 10:43:12am
バージョンが間違っていると思う理由は 2 つあります。
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 のサイトMicrosoftMvcJQueryValidation.js
の先物ダウンロードから取得しました。`
他のバージョンは見つかりませMicrosoftMvcJQueryValidation
んが、あるに違いありません。誰でも助けることができますか?