デフォルトの 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 (匿名関数)
この問題を解決するには?