0

デフォルトの ASP.NET MVC 4 アカウント登録 Web フォームがあります。ユーザー名がデータベースに既に存在するかどうかを確認しようとしています。ユーザー名が存在する場合、ユーザーに通知する必要があります。そのために、リモート検証を使用しています (このチュートリアルに従っています)。

まず、RegisterModel クラスを変更しました。

[Required]
        [Display(Name = "User name")]
        [System.Web.Mvc.Remote("doesUserNameExist", "Account", HttpMethod = "POST",      ErrorMessage = "User name already exists. Please enter a different user name.")]
        public string UserName { get; set; }

次に、これを AccountController に入れました。

[HttpPost]
        public JsonResult doesUserNameExist(string UserName)
        {
            var user = Membership.GetUser(UserName);
            return Json(user == null);
        }

登録ビューで、次の 2 行を追加しました。

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

「登録」ボタンをクリックしても、何も起こりません。ホームページに転送されず、エラーも表示されません。

更新: Chrome 開発者ツールでこのフォームを確認しました。それは2つのエラーを与えています:

Uncaught ReferenceError: jQuery が定義されていません jquery.validate.min.js:46 (匿名関数) Uncaught ReferenceError: jQuery が定義されていません jquery.validate.unobtrusive.min.js:5 (匿名関数)

この問題を解決するには?

4

2 に答える 2

0

私は同じ問題を抱えていて、それを修正しました。次のファイルをロードする前に必要な jQuery ファイルへのリンクを含めると、うまくいくはずです!

  • jquery.validate.min.js
  • jquery.validate.unobtrusive.min.js
于 2014-05-20T21:43:28.397 に答える