web-dev-qa-db-ja.com

jQuery ValidateでこのJavaScriptエラーが発生するのはなぜですか?

Asp.net mvc 5プロジェクトでjquery.unobtrusiveライブラリとjquery.validateライブラリを使用して、クライアント側でのユーザー登録を検証します。

ブラウザでこのエラーが発生します:

Uncaught TypeError: $(...).parents(...).andSelf is not a function
    at Object.parse (jquery.validate.unobtrusive.js:211)
    at HTMLDocument.<anonymous> (jquery.validate.unobtrusive.js:392)
    at mightThrow (jquery-3.1.1.js:3570)
    at process (jquery-3.1.1.js:3638)

プロジェクトでjquery3.1.1を使用しています。バージョンの問題のようです。

どうすればそれを解決できますか?

9
Michael

Uncaught TypeError:$(...)。parents(...)。andSelf is not a function

jQueryのドキュメントを読んでください

「プロジェクトでjquery3.1.1を使用しています。」

.andSelf()メソッドはjQueryバージョン3から削除されました

これは .addBack()メソッド のエイリアスであり、代わりに使用する必要があります。

13
Sparky

@Sparkyが言ったように、これは、NuGetから取得した控えめなJSファイル(VisualStudioで[ファイル]-> [新規]を使用してアプリを作成する場合)が非推奨のandSelf()関数を使用するためです。

解決するには、の最新バージョンを入手してください

jquery.validate.unobtrusive.js jquery.validate.unobtrusive.min.js

から

https://github.com/aspnet/jquery-validation-unobtrusive/tree/master/dist

プロジェクト内のものを置き換えます。または、nugetから既存のプラグインをダウンロード/更新します。

交換後ブラウザのキャッシュをクリアしてください。 (Chromeを使用している場合はControl + F5)

11
rams