0

私はビューを持っています:

@model MvcApplication2.Models.HomeModel

@{
    ViewBag.Title = "Home";
}

<h2>Home</h2>
<a>Witaj</a>
@Model.UserName

@using (Html.BeginForm())
{

    <a>Podaj hasło</a>
    @Html.PasswordFor(m => m.Password)
    @Html.ValidationMessageFor(x => x.Password)

    <input type="submit" />
}

およびコントローラー

    using System.Web.Mvc;
using System.Web.UI;
using MvcApplication2.Models;

namespace MvcApplication2.Controllers
{
    [OutputCache(Location = OutputCacheLocation.None, NoStore = true)]
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            HomeModel model = new HomeModel() { UserName = "John" };
            return View(model);
        }

        public JsonResult CheckPassword(string password)
        {
            bool result = false;
            if (password.Length < 4)
            {
                result = false;
            }
            else
            {
                result = true;
            }

            return Json(result, JsonRequestBehavior.AllowGet);
        }
    }
}

およびモデル:

  using System.Web.Mvc;

namespace MvcApplication2.Models
{
    public class HomeModel
    {
        public string UserName { get; set; }

        [Remote("CheckPassword", "Home", ErrorMessage = "Wpisz lepsze hasło")]
        public string Password { get; set; }
    }
}

リモート検証メソッドはいつ起動する必要がありますか? 入力ボタンをクリックすると?私は何を間違っていますか?

4

2 に答える 2

2

ビュー/Razor レイアウトで目立たない jQuery 参照がありませんか?

<script src="@Url.Content("~/Scripts/jquery-1.7.1.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
于 2012-12-06T20:22:27.410 に答える