3

私は以下のフォームをmvc3かみそりで書いています。ユーザーが間違ったパスワードを入力したときにメッセージを表示したい。メッセージを表示するためのラベルを配置しましたが、MVCで表示/非表示を実行する方法がわかりません。助けてください。

@using (Html.BeginForm("Authenticate", "Authorization", FormMethod.Post, new { autocomplete = "off" }))
{
    < div>
    < fieldset>
        <legend > User Information </legend>

        <div class="editor-label">
            @Html.Label("Password")

            @Html.TextBox("password")
            @Html.ValidationMessageFor(m => m.password)
            @Html.Label("Incorrect Password")
        </div>
        <p>
            @Html.Hidden("tab", ViewData["tab"])
            <input type="submit" value="Submit" />
        </p>

    </fieldset>
</div>
}
4

1 に答える 1

9

資格情報を検証することになっているコントローラーアクションで、modelstateエラーを追加できます。

ModelState.AddModelError("password", "The username or password is incorrect");

Visual Studioの組み込みウィザードを使用して新しいASP.NETMVCアプリケーションを作成し、に移動し~/Controller/AccountController.csます。次に、LogOnPOSTアクションを確認します。クレデンシャルが無効な場合、一般的なモデル状態エラーが追加されます。

ModelState.AddModelError("", "The user name or password provided is incorrect.");

このエラーは、ビュー内のValidationSummaryヘルパーを使用して表示されます。

@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")
于 2012-06-11T17:17:59.477 に答える