asp.net-mvc – ASP.NET MVC – ModelState.IsValid是false,如何绕过?
发布时间:2020-05-24 16:16:01 所属栏目:asp.Net 来源:互联网
导读:我有一个小应用程序,我在创建一个客户 [Authorize][AcceptVerbs(HttpVerbs.Post)]public ActionResult CreateCustomer(GWCustomer customer){ if (string.IsNullOrEmpty(customer.CustomerName)) { ModelState.Add
|
我有一个小应用程序,我在创建一个客户 [Authorize]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult CreateCustomer(GWCustomer customer)
{
if (string.IsNullOrEmpty(customer.CustomerName))
{
ModelState.AddModelError("CustomerName","The name cannot be empty");
}
//...
if (ModelState.IsValid)
{
//insert in db
}
}
我的问题是GWCustomer对象有一个Id,它是主键,不能为null.这使得验证框架将其标记为错误.但这不是一个错误,我还没有创建客户,现在应该是null,直到它被保存.我该如何绕过这个?还是解决它? 我永远不会在DB中插入它,因为ModelState永远不会有效. 编辑我正在使用Linq to SQL和存储库模式. 解决方法这将从绑定中排除值,但不会验证:public ActionResult CreateCustomer([Bind(Exclude = "Id")]GWCustomer customer) 即使发生验证,您仍然可以通过调用以下方法来更正ModelState: ModelState.Remove("Id");
如果只有Id导致错误,它将删除与Id相关的条目并将ModelState.Valid属性更改为true. 建议不要在视图层中使用数据层对象.您绝对应该考虑创建专用视图模型,而不使用Id字段. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 具有默认日期的MVC4日期选择器
- 这两种方法有什么区别?
- ASP.NET和.NET框架版本之间的区别
- asp.net-mvc-3 – Editor用于收集我的模型中的项目
- asp.net-mvc-3 – MVC3 Html.ActionLink Post
- ASP.NET MVC Web应用程序中视图逻辑和域逻辑之间的混淆
- asp.net-mvc-4 – ASP.NET MVC电子商务解决方案(商业或开放
- asp.net-mvc-3 – MVC 3客户端验证,模型绑定十进制值和文化
- asp.net-mvc-2 – 如何设置RadioButtonFor()在ASp.net MVC
- asp.net-mvc – ASP.NET MVC中的CSS/JS文件的自动版本?
推荐文章
站长推荐
- 为什么我得到“线程被中止”在asp.net?
- IIS中的Asp.Net核心MVC应用程序Windows身份验证
- asp.net – 考虑Scalablity和友好URL的GUID替代方
- asp.net-mvc-3 – 从ViewBag添加@ Html.TextBox值
- asp.net-core – 构建asp.net核心错误
- asp.net – 调用RenderSection两次?
- 如何使用Fluent Nhibernate中的Automapping进行O
- asp.net核心 – JSON属性现在从ASP .Net Core 1.
- 如何运行ASP.Net页面的客户端验证?
- 如何在ASP.NET Membership Cookie中存储自定义数
热点阅读
