我對寄存器模式遠程驗證限制爲編輯控制器的方法
我的模型類
public class RegisterViewModel
{
[Required]
[StringLength(100, ErrorMessage = "Please enter a minimum of {2} characters", MinimumLength = 6)]
[DisplayName("University ID")]
[Remote("doesusernameExist", "HEC",null, ErrorMessage = "usr name is allready exist", HttpMethod = "POST")]
public string usrname { get; set; } }
的json控制器類
[HttpPost]
public JsonResult doesusernameExist(string usrname)
{
var institute = db.Institutes.Find(HEI_ID);
return Json(institute == null);
}
的創建我是新用戶和編輯用戶使用以上模型。所以沒有創造另一種模式,我想禁用的編輯方法doesusernameExist調用方法
您也需要2個視圖模型(最佳的解決方案),或者需要一個額外的值傳遞給'doesusernameExist()'使用方法(表示ID屬性)的'AdditionalFields' p 「RemoteAttribute」屬性,以便您可以使用它來有條件地測試是否需要執行數據庫檢查(即,如果ID爲null或爲零,則爲新對象,所以'返回Json(true);'或任何您想要應用的邏輯) – 2015-04-06 12:23:39