所以我发现,使用视图模型更好。它说它会阻止我从'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);
它的型号总是有效的
什么不工作?附:无论您是否有视图模型,您都可以编写意大利面代码。 –
这不是验证,我会更新我的模型。 –