1
所以我發現,使用視圖模型更好。它說它會阻止我從'spegetti代碼',好吧,我喜歡那樣。驗證視圖模型根據模型
我不認爲這是一個好主意,重複我對每個視圖模型的驗證,所以我發現automapper,我試着這個,但它不工作我做錯了什麼?
感謝
[HttpPost]
public ActionResult AddProvider(ProviderNewVM providerVM)
{
Provider provider = Mapper.Map<Provider>(providerVM);
UpdateModel(provider);
if (ModelState.IsValid)
{
return Content("ok");
}
return Content("nope");
}
我的模型:
public class Provider
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
}
我的視圖模型:
public class ProviderNewVM
{
public string Name { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
}
我想從我的觀點recive一個ProviderNewVM類,並轉換成我的模型我的控制器到提供者類,所以我可以驗證我的模型驗證。
索裏,我得到一個錯誤的(類型的模型 'Controli_web.Models.Provider' 無法更新)
UpdateModel(provider);
然後我改變該行:
TryUpdateModel(provider);
它的型號總是有效的
什麼不工作?附:無論您是否有視圖模型,您都可以編寫意大利麪代碼。 –
這不是驗證,我會更新我的模型。 –