5

MicrosoftMvcJQueryValidation.jsクライアント側の検証のために ASP.NET MVC 2 によって使用されます。

このファイルに問題があり、正しく機能しないだけで、バージョンが間違っているのではないかと考えています。

私が使用しているバージョンは、先物のソースからのものです。

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

バージョンが間違っていると思う理由は 2 つあります。

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")有効です。

Microsoft のサイトMicrosoftMvcJQueryValidation.jsの先物ダウンロードから取得しました。`

他のバージョンは見つかりませMicrosoftMvcJQueryValidationんが、あるに違いありません。誰でも助けることができますか?

4

1 に答える 1

6

2009年12月17日の時点で、の最新バージョンが先物ダウンロードプロジェクトMicrosoftMvcJQueryValidation.jsで利用可能です。

同様の名前のを含めるのMicrosoftMvcJQueryValidation.jsではなく、含めるように注意してください。 MicrosoftMvcValidation.js

于 2009-12-27T01:43:58.500 に答える