2

MVC3で初めてリモートデータ注釈を使用しようとしています。単純なものがありません。セットアップはコントローラーアクションをまったく起動しておらず、問題はすぐには見られません。

ユーザー名の一意性を検証しようとしています。

これがコードの設定です。

コードを表示

@Html.Raw(Html.Script("jquery.validate.min.js"))
@Html.Raw(Html.Script("jquery.validate.unobtrusive.min.js"))

<tr>
            <td class="editor-label">@Html.LabelFor(model => model.UserName):</td>
            <td  class="editor-field">@Html.EditorFor(model => model.UserName)</td>
            <td>@Html.ValidationMessageFor(model => model.UserName)</td>
        </tr>

ViewModelコード

    [DisplayName("Username")]
    [StringLength(100)]
    [Remote("CheckIfUsernameExists", "UserProfile", ErrorMessage = "This username is taken. Please enter a different user name.")]
    public string UserName { get; set; }

コントローラコード

[HttpGet]
        public JsonResult CheckIfUsernameExists(string userName)
        {
            return Json("false");
        }
4

1 に答える 1

1

設定を確認してください。クライアントの検証と目立たないものを有効にする必要があります

<appSettings>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

これで、次のコードが機能するはずです

    [Get]
    public JsonResult CheckIfUsernameExists(string userName)
    {
        return Json(false,JsonRequestBehavior.AllowGet);
    }
于 2012-05-19T02:39:16.087 に答える