我需要驗證一個輸入是唯一的或不插入到數據庫之前。我在模型類中使用了遠程驗證屬性。在ASP中使用遠程驗證。網絡MVC應用程序創建和編輯視圖
[Required(ErrorMessage = "Package name Required")]
[Remote("IsNameAvailble", "Package", ErrorMessage = "Sorry!!! This name have entered for another package")]
public string packagename { get; set; }
查看
<div class="form-group">
<label class="control-label">Package Name</label>
@Html.TextBoxFor(model => model.package_name, new { @class = "form-control", placeholder = "Name for the Package", type = "text", autofocus = "autofocus", id = "packagename" })
@Html.ValidationMessageFor(model => model.package_name)
</div>
這是控制器代碼
public ActionResult IsNameAvailble(string package_name)
{
Dbfile db = new Dbfile();
var exist= db.GetAllList().FirstOrDefault(m => m.package_name == package_name);
if (exist!= null)
{
return Json(false, JsonRequestBehavior.AllowGet);
}
else
{
return Json(true, JsonRequestBehavior.AllowGet);
}
}
這是在增加一個新的名字 但在編輯部工作完美的,如果我們改變其它值(比包名以外,它檢查並顯示錯誤信息)
所以我需要一種方法與選擇的ID檢查(如果我們有選擇的ID檢查,THN創建功能將無法正常工作)
請任何人建議答案提前
問題並不清楚。你需要一種方法來檢查選中的「它」。請使用完整的句子。只是在這裏猜測......在編輯時,將ID傳遞到視圖中,然後在提交時從視圖中獲取ID。使用'db.Find(id)'來檢查一個條目是否存在。 – lloyd
您需要使用'[Remote]'屬性的'AdditionalFields'屬性將ID值傳遞給rhe方法,以便您可以從查詢中排除當前對象。 –
@StephenMuecke如何使用AdditionalFields屬性,可以說它是否是電子郵件,您可以給出一個快速說明或給我一個參考點來實現它 –