私のビューには、テキスト ボックス (電子メール) と送信ボタンがあります。
@using (Html.BeginForm("FindMyDetail", "ResetPassword", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
@Html.AntiForgeryToken()
<h4>Enter your email.</h4>
@Html.ValidationSummary(false, "", new { @class = "alert alert-danger" })
@Html.ValidationMessageFor(m=>m.Email)
<div class="form-group">
@Html.LabelFor(m => m.Email, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@*@Html.TextBoxFor(m => m.Email, new { @class = "form-control", @value = @Html.DisplayFor(m => m.Email) })*@
@Html.TextBoxFor(m => m.Email, true, htmlAttributes: new { @class = "form-control", placeholder = "Enter Email Id you used to register" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" class="btn btn-default" value="Email Link" />
</div>
</div>
}
MVC Web アプリのビューに複数の検証メッセージを表示する必要があります。
Case1 : テキストボックスが空のままの場合、電子メール ID を入力するための検証メッセージを表示します。
ケース 2 : 電子メールが存在する場合、送信ボタンはメールをトリガーします。メールが失敗した場合 (false)、電子メールが存在しないという検証メッセージが来るはずです。送信ボタンをクリックすると、特定の電子メールへのメールをトリガーするコントローラーが呼び出されます。成功した場合は、成功メッセージを含む別のビューを返します。それ以外の場合は、同じビュー (EmailLink ビュー) を返します。
これを実装するasp.net Webフォームでは簡単に見えますが、非常に異なって見え、MVCでこれを実装する方法が初めてなので困惑しています。
編集: カスタム検証を使用して実装する必要があります。データ注釈を使用していません。