问题标签 [modelstate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
902 浏览

asp.net-mvc-3 - 使用 Html.DropDownListFor 时,ModelsState 总是无效

这就是我创建下拉列表的方式

这就是我的 AvailablePageModels 的样子

当我将表单发布到以下操作时,我的模型状态总是无效并且错误发生在 AvailablePageModel 值上?也许我不能以这种方式使用 NewPageModel 作为参数?

0 投票
11 回答
62245 浏览

asp.net-mvc - ASP.NET MVC - 如何跨 RedirectToAction 保留 ModelState 错误?

我有以下两种操作方法(为问题而简化):

所以,如果验证通过,我会重定向到另一个页面(确认)。

如果发生错误,我需要显示与错误相同的页面。

如果我这样做return View(),则会显示错误,但如果我这样做return RedirectToAction(如上所述),它会丢失模型错误。

我对这个问题并不感到惊讶,只是想知道你们如何处理这个问题?

我当然可以只返回相同的视图而不是重定向,但是我在填充视图数据的“创建”方法中有逻辑,我必须复制这些数据。

有什么建议么?

0 投票
1 回答
8018 浏览

asp.net-mvc - ASP.NET MVC ModelState.IsValid 不起作用

我有这个控制器的创建方法

这用于编辑

这两种方法都使用公共部分页面 (.ascx)。

验证在我尝试创建主题时有效,但在我尝试编辑时无效

0 投票
2 回答
11677 浏览

c# - 验证:如何使用 Ninject 注入模型状态包装器?

我正在查看本教程http://asp-umb.neudesic.com/mvc/tutorials/validating-with-a-service-layer--cs,了解如何将我的验证数据包装在包装器周围。

我想使用依赖注入。我正在使用ninject 2.0

// 包装器

// 控制器

//服务层

0 投票
1 回答
252 浏览

asp.net-mvc - 如何使用 ModelStateWrapper= 控制错误键

0 投票
2 回答
1578 浏览

asp.net-mvc - 在 ASP.NET MVC 中使用外键保存实体

我需要一些帮助来做一些我认为很简单的事情。我正在使用带有 CodeFirst (CTP5) 的 ASP.net MVC 3

我有两个实体:公司和位置。一家公司可以有很多地点。课程如下(去除所有不必要的信息)

现在在我的控制器中,我只允许在公司的上下文中创建位置,因此始终传入公司 ID(在视图中,我在只读字段中显示公司的名称,但不允许用户更改/编辑它。

现在,每当我尝试创建新位置时,ModelState.IsValid 始终为 false,因为未提供 location.Company.Name 并且是 Company 的必填字段。我从不尝试在这里创建一家新公司,我只是尝试创建一个引用正确公司的位置。我不想将 Name 属性添加到视图中只是为了让 ModelState 进行验证。这怎么能轻松完成?我应该传递与视图不同的东西吗?或视图?

0 投票
1 回答
344 浏览

asp.net-mvc-3 - 在所需位置查看验证摘要

我在 mvc3 的主视图中有一个部分视图。部分视图在其操作方法中有它自己的 ModelState.AddModelError,而主视图在其操作方法中有另一个 ModelState.AddModelError。当代码运行并且想要显示主视图错误时,由于部分视图也具有validationsummery标签,因此验证摘要显示在两个位置。

我如何解决这个问题?谢谢。

0 投票
1 回答
181 浏览

asp.net-mvc-2 - MVC2:使用结构的模型状态在编辑状态下出现问题

我有以下问题。我正在使用一个结构(不是单个表)来显示我的编辑页面。

当我提交我的页面(一个 ascx 页面)时,在填写了所有字段后,我填写了一些 ModelState.Error(带有 ModelState.AddModelError)我的代码行“if(!ModelState.IsValid)”很好地检测到了

但是,一旦更新了表单(一旦调用了我的 Edit(post) 的“return”行),就不会显示任何 ModelErrorState。使用单个表的表单上的相同代码可以正常工作。

我几乎可以肯定问题出在我重新加载结构的方式上。

任何的想法 ?

0 投票
1 回答
528 浏览

asp.net-mvc - 什么决定了集合属性项的 ModelStateDictionary 中的键

如果这是我的视图模型:

那么分配给 a 的默认错误消息键是什么ModelStateDictionary

  1. ViewModel.SimpleProperty (请参阅下面的更新)
  2. ViewModel.ComplexProperty (见下面的更新)
  3. ViewModel.ComplexProperty.NestedSimpleProperty (请参阅下面的更新)
  4. ViewModel.ComplexPropertyArray (见下面的更新)
  5. ViewModel.ComplexPropertyArray[0]
  6. ViewModel.ComplexPropertyArray[0].NestedSimpleProperty

更新 我在反射器中发现了这个:

所以,我认为这涵盖了除了#5 和 #6之外的所有内容

0 投票
3 回答
13825 浏览

asp.net-mvc-3 - C# .NET MVC3 ModelState.IsValid

我使用 JSON 从表单发布数据并且 ModelState.isValid() 返回 false,我为所有传入数据放置了 WriteLine,并且一切看起来都很好,有没有办法显示模型状态错误以找出未验证的内容?这个确切的代码适用于其他模型

谢谢