问题标签 [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.
model-view-controller - 具有多个 ViewModel 的 MVC 3 ModelState.IsValid
假设我有一个由其他 3 个 ViewModel 组成的 ViewModel。一个包含项目列表,另一个包含具有 [Required] 属性的类的实例,然后是另一个其他项目的列表。
如果用户从两个列表之一中的一个项目中进行选择,我不希望第二个对象上的 [Required] 属性导致 ModelState 无效,因为如果用户选择其中一个项目,他们不会需要使用具有 [Required] 属性的项目填写表格。
我怎么解决这个问题?
asp.net-mvc - 在 ASP.net MVC 单元测试中访问 ModelState 错误字典中的错误消息
我在操作结果中添加了一个键值对,如下所示:
我在单元测试中有一些像这样的繁琐代码:
当然,只要我只有一个错误,它就可以工作。
我不喜欢facilities.ViewData.ModelState["Error"].Errors.FirstOrDefault().ErrorMessage
。
有没有更简单的方法可以从该字典中获取值?
asp.net - 如何在异步控制器中验证模型状态
我正在尝试使用异步控制器,但无法弄清楚如何验证用户输入。
以下是我的控制器中定义的两个异步方法。我应该在 SearchAsync 方法或 SearchCompleted 方法中检查 ModelState.IsValid。如果 SearchAsync 那么将如何返回视图结果,因为它的返回类型是 void。如果 SearchCompleted 那么该方法将如何知道 searchForm 参数。
jquery - 在 asp.net-mvc 中,当从 PartialView() 迁移到 Json 响应时 - 我如何显示 ModelState 验证错误?
我有 asp.net-mvc 网站,我们从在服务器上使用 PartialView() 迁移了一个弹出窗口,只返回 Json() 响应(并在客户端进行绑定)。在这种情况下,它似乎快了大约 10 倍,这很棒。
我遇到的一个问题是现有代码大量利用 ModelState 进行验证和 UI 突出显示问题。
如果我现在只是从服务器接收 Json() 响应,是否有建议的方法来进行验证。
特别是: 1. 将 ModelState 错误返回到 Gui 的首选方法是什么(并获得与使用 asp.net-mvc modelstate 开箱即用的相同的红色突出显示和绑定。2. 我应该仍然使用 modelstate 还是 ditch它是另一个完整的解决方案。 3. 在此迁移过程中需要担心的任何其他问题。
asp.net-mvc-2 - ModelState.AddModelError - 如何添加不属于属性的错误?
我正在检查我的数据库Create(FooViewModel fvm){...}
以查看fvm.prop1
和是否fvm.prop2
已经存在于该组合中;如果是这样,我想在模型状态中添加一个错误,然后返回整个视图。我试过了:
...但是我没有在 中显示错误Html.ValidationSummary
,这是我认为它们会出现的地方。我怀疑“模型”不是正确的键,但我无法在谷歌中找到任何东西。
asp.net-mvc - 自定义模型绑定、模型状态和数据注释
我有一些关于自定义模型绑定、模型状态和数据注释的问题。
1)如果我的模型上有数据注释,在自定义模型绑定器中进行验证是否多余,因为这就是我认为数据注释的意义所在。
2)为什么我的控制器将模型状态视为有效,即使它不是,主要是我将 Name 属性设置为 null 或太短。
3) 是否可以将自定义模型绑定器视为构造方法,因为它们让我想起了这一点。
首先是我的模型。
然后我使用自定义模型绑定器来绑定模型的一些属性。请不要介意它只是试图让它运行然后重构它是快速和肮脏的。
现在我的控制器动作。
编辑
我在另一个 stackoverflow 问题上找到了一些代码,但我不确定在什么时候我会将以下值注入到这个可能的解决方案中。
创建新对象时我想注入的内容:
如何将上述代码放入以下内容(可能的解决方案):
javascript - ModelState.IsValid fails to validate!
So I have a simple class which I use to send a Contact Form email.
The above is my class and my controller is as follows
For some reason the ModelState.IsValid returns as true even though I can look into my EnquiryEmail object and see the nulls against values which have a "Required" validation against them.
Look into the ModelState.IsValid shows the 4 values -the Nulls are actually displayed as empty strings under the property named "AttemptedValues". which im not sure if thats a problem here or just a thing ModeState does!
Either way its not validating correctly. Any Ideas what it could be?
asp.net-mvc - 将 ModelState 错误复制到 TempData 并在视图中显示它们
我的大多数操作方法在成功时返回 PartialViews,在失败时返回 RedirectToAction 结果。为此,我想将模型状态错误复制到 TempData 中,以便将它们显示给用户。我已经阅读了关于 SO 和一些外部链接的几个问题,但没有一个对我有用......我正在用ModelStateToTempData
MvcContrib 的属性装饰 ActionMethod,然后在视图中显示如下:(这只是一个原型)
我没有显示错误本身,而是不断得到System.Web.Mvc.ValueProviderResult
. 我知道这都是错误的,最终我想将模型状态错误过滤到 TempData 中的字典中,但现在我只想让错误字符串显示在视图中。
PS:我尝试在没有 MvcContrib 属性的情况下手动执行此操作,并且得到了相同的结果。但我更喜欢使用自己的代码,这样我就可以更好地控制整个问题。
有什么建议么?
jquery - How to use MVC ajax and PartialViews while maintaining ModelState errors
I'm using MVC3. I have a form, that on submit, returns a PartialView that updates my page. The question/issue is -- how do I show ModelState errors and keep my form values in-tact when there is an error?
It seems this question has been asked before (see my references below), but I haven't yet found a complete answer/solution, but I'm confused...
- ASP.Net MVC partial views keeping their model state?
- http://craftycodeblog.com/2010/05/15/asp-net-mvc-render-partial-view-to-string/
- Render a view as a string
My very simple Model
My View looks like this:
And my PartialView just spits back the output:
And my Controller Action method like this
The issue is how do I return back the View with the ModelState errors?
In the links I provided, there is talk about returning json with status codes so that the client-side can detect an error versus success condition (i.e. RenderPartialViewToString). But I don't really understand how this all gets hookedup / consumed.
e.g. If success, just display the partial view? If error, do we just refresh the page with the updated ModelState? Can someone link together the pieces and show an end-to-end example, namely the View/jquery ajax calls?
Aside: As an alternate implementation, I used something similar to this approach, and got it working, but I don't know... it just seems wrong and as I'm refreshing more of the page than I want to on a success scenario.
http://jvance.com/blog/2010/02/20/MakingAnAjaxFormWithJQueryInASPdotNETMVC.xhtml
e.g. My Controller looks like this, where my PartialViews now contain my "form" code in both Success and Error versions.
Thanks
asp.net-mvc - c# mvc结构-简单的问题
我这里需要一些信息。我是 MVC 的新手,因此对你们来说,我认为这将是一个容易回答的问题。我有以下结构:
控制器.cs
最后,在 PageMain 视图中,我有:
好的,现在,我的问题是:这样的结构是否有效(这里所说的有效是指结构是否良好或有更好的方法)?以及如何ModelState.AddModelError()
在部分视图“Partial1”中的方法中达到异常?
如果您感到困惑,总结一下:
- 在 PageMain 中,有一个根据 url-parameter 构造的表。实际上,它是在另一个局部视图中构造的,但显示在 PageMain
- 当我编辑表格时,表单将我重定向到 FormAction,执行代码以编辑数据库
- 最后,如果有错误,用户仍然在 FormAction 中,但是在这个页面中使用的 View 仍然是 PageMain,我没有为这个页面设置不同的视图,因为它就像两次构建同一个页面一样。我的意思是,只包含一个显示我不想创建另一个视图的错误的局部视图。相反,我试图用一些 if - else 逻辑使部分视图可见,仅在出现一些错误的情况下