私はMVCを初めて使用しています。私はcshtmlファイルの入力テキストボックスに検証メッセージを追加したいと思います。入力には建物名が必要です。データベースから検証した後には、一意の名前だけを使用する必要があります。この入力ボックスにどのように検証メッセージを書くべきですか?助けてください。 コードは以下の通りです:私はそれが一意の値をとるせることで検証を強化する必要がありデータベースから検証して一意の値を抽出するMVCの検証メッセージ
<tr>
<td style="height: 0.3em;width: 22em;">
<div style="margin-top: -0.0em;margin-left: 0.8em;">
@Html.TextBoxFor(model => model.buildingName, new { @class = "InfoTextBox", @placeholder = "Building name", id = "buildingName", maxlength = 25, onkeyup = "FormDirty();" })
<br />
@Html.ValidationMessageFor(model => model.buildingName)
<span style="position: absolute; top: 6.6em; left: 14.8em; color: #FF0000; font-size: 1.7em;">*</span>
</div>
</td>
。
のViewModel:
[System.ComponentModel.DisplayName("buildingName")]
[System.Web.Mvc.Remote("CheckBuildingName", "ControllerName", AdditionalFields = "buildingName", HttpMethod = "Post")]
public string buildingName { get; set; }
コントローラー:
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult CheckBuildingName() {
string _buildingName = Request.Form["buildingName"]; // put your control name here
if (repository.isExist(_buildingName)) {
return Json("Building already taken, Pleaes try with different name.", JsonRequestBehavior.AllowGet);
} else {
return Json(true, JsonRequestBehavior.AllowGet);
}
}
あなた.cshtml
コードは罰金だあなたは以下のように、このためにDataAnotationリモート属性を使用することができます
[リモート]属性を使用することができます - [方法:ASP.NET MVCでリモート検証を実装する](https://msdn.microsoft.com/en-us/library/gg508808(vs98) .aspx) –