问题标签 [asp.net-mvc-2-validation]

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 投票
5 回答
2227 浏览

asp.net-mvc-2 - ASP.MVC 2 RTM + Id 属性处的 ModelState 错误

我有这个课程:

而这个动作:

这就是我的看法:

但是 ModelState 总是无效的!正如我所看到的,对于 MVC 验证 0 是无效的,但对我来说是有效的。我该如何解决它,因为我没有在 Id 属性中进行任何类型的验证?

更新: 我不知道如何或为什么,但在我的情况下将 Id 重命名为 PK 可以解决这个问题。

您知道这是我的逻辑/配置中的问题还是错误或预期行为?

0 投票
1 回答
206 浏览

asp.net-mvc-2 - 在 ASP.NET MVC 2 中使用无模型视图进行客户端验证

我想在 MVC 2 中使用新的客户端验证功能,但我有一个特定的视图,上面只有几个文本框,我不想为它创建一个强类型模型。有人可以描述如何利用 MVC 2 w/oa 强类型模型中的验证优势吗?

0 投票
1 回答
447 浏览

validation - MVC:在没有回发的情况下从 JS 开始验证部分页面

如何使用 MS MVC 验证库从客户端/javascript 开始验证?

使用 MS ASP.Net MVC,我在模式对话框中有一个带有 PartialView 的页面(更改密码)。当用户选择“保存”时,我需要在客户端验证这一点,而不需要整页回发。我可以在 JS 中发布和刷新部分视图,但是我无法启动客户端验证。MS MVC 验证在回发时开始(输入类型='提交')。如何在 JS 中启动它?

使用回发作品在整页上进行验证。感谢:D

0 投票
1 回答
664 浏览

asp.net-mvc - 动态客户端验证

有没有人在做动态客户端验证,如果是的话,你是怎么做的。

我有一个通过 jquery 验证器启用客户端验证的视图(见下文)

这导致在我的页面上生成 javascript 代码,当我单击提交按钮时调用 validate:

如果我希望在文本框上发生 onblur 事件时进行验证,我该如何让它工作?

0 投票
1 回答
2588 浏览

c# - 带有强类型 HTML 帮助器的 POST 上的 ASP MVC2 模型绑定问题

所以我正在考虑从MVC 1.0 迁移到 MVC 2.0 RTM。我想开始遵循的约定之一是使用强类型 HTML 帮助器来生成文本框等控件。

然而,看起来这不会是一个容易的跳跃。我尝试迁移我的第一个表单,替换如下行:

...对于这样的行:

以前,这将使用以下方法签名映射到 POST 上的适当视图模型:

相反,它当前返回一个空对象。我相信这种脱节在于我们将视图模型传递到一个更大的聚合对象中,该对象具有一些页面元数据和其他有趣的东西(因此x.Data.FirstName而不是x.FirstName).

所以我的问题是:使用强类型助手的最佳方法是什么,同时仍然允许 MVC 框架像在原始行中那样将表单集合适当地转换为我的视图模型?有没有办法在不改变我们传递给视图的聚合类型的情况下做到这一点?

谢谢!

更新:所以 bind 属性工作得很好,但我不喜欢我必须将它应用于基本上每个发布的视图模型。我最终改变了继承层次结构,这样我们所有的视图模型都继承自一个包含页面内容和其他元数据的基类,而不是一个名为Data.

0 投票
1 回答
1602 浏览

asp.net-mvc - ASP.NET MVC 2.0 验证和错误消息

我需要在 MVC 2.0 中设置 DataAnnotation 的验证属性的 ErrorMessage 属性。例如,我应该能够传递一个 ID 而不是 Model 属性的实际错误消息,例如...

然后使用此 ID(“EmailContentID”)从另一个服务(例如数据库)中检索一些内容(错误消息)。然后向用户显示错误错误消息而不是 ID。为此,我需要设置 DataAnnotation 验证属性的 ErrorMessage 属性。

只需覆盖 DataAnnotationsModelValidatorProvider 的受保护覆盖​​ IEnumerable GetValidators(ModelMetadata metadata, ControllerContext context, IEnumerable attributes) 似乎是一项简单的任务

不过现在很复杂......

A. MVC DataannotationsModelValidator 的 ErrorMessage 属性是只读的。所以我不能在这里设置任何东西 B. System.ComponentModel.DataAnnotationErrorMessage 属性(获取和设置)已经在 MVC DatannotationsModelValidator 中设置,所以我不能再次设置它。如果我尝试设置它,我会收到“该属性不能设置超过一次……”错误消息。

谁能给我正确的方向?

提前致谢。

0 投票
1 回答
2470 浏览

asp.net-mvc-2-validation - MVC2 ValidationSummary 和客户端验证

我希望在客户端验证期间显示 ValidationSummary 错误。目前,验证消息仅在客户端验证期间显示在字段旁边。我用…。

  1. 微软Ajax.js
  2. 微软MvcAjax.js
  3. MicrosoftMvcValidation.js

作为我的客户端库。

线程中有一个 jQuery Validation Library 的解决方案…… ASP.NET MVC ValidationSummary For Client Side Validation

是否有捷径可寻?

我使用了 xVal 工作 DataAnnotation,它很容易为验证摘要启用客户端验证。

例如

有没有办法在 MVC2 中使用 MicrosoftAjax 做到这一点?

0 投票
1 回答
2006 浏览

asp.net-mvc - 当提交的日期不正确时,传递的 DataAnnotation 属性中的 IsValid 覆盖中的 ASP.NET MVC 2“值”为空

这是我关于堆栈溢出的第一个问题。我需要帮助解决我目前正在处理的 ASP.NET MVC2 项目中遇到的问题。我应该注意,我对 MVC 设计比较陌生,所以请承担我的无知。这里是:我有一个常规表格,上面显示了一个人的各种详细信息。其中之一是“出生日期”。我的看法是这样的

我正在使用我找到的编辑器模板,仅正确显示日期:

我使用 LinqToSql 设计器从 sql 数据库创建我的模型。为了进行一些验证,我创建了一个部分类 Person 来扩展设计者创建的类(在同一命名空间下):

我想确保输入正确的日期。所以我创建了一个自定义 DataAnnotation 属性来验证日期:

嗯,我的问题是这个。一旦我在 DateOfBirth 字段中输入了错误的日期,即使使用 [Birthday(ErrorMessage=".....")] 之类的属性,也不会显示自定义消息。显示的消息是从数据库返回的消息,即“值 '32/4/1967' 对 DateOfBirth 无效。”。我尝试在代码周围输入一些断点,发现当日期不正确时,属性中的“值”始终为空,但如果日期格式正确,则始终获取值。设计器生成的代码中也传递了相同的 (value == null)。

这件事快把我逼疯了。请问有人可以帮我处理这个吗?另外,如果有人可以告诉我从视图到数据库的确切入口点在哪里。它与模型绑定器有关吗?因为我想在按下“提交”按钮后准确检查传递的值。谢谢你。

0 投票
3 回答
13555 浏览

c# - ASPNET MVC - 当该字段确实有值时,为什么 ModelState.IsValid false“需要 x 字段”?

我有一个这样的模型:

当我从视图提交订单时(使用 $.post,而不是 input type=submit),它会转到我的控制器类:

ModelState.IsValid 始终返回 false,并带有错误:“订单号字段是必需的。” 但是这个字段有一个值(??为什么)

当它确实有值时,为什么会说“需要值”?我错过了什么吗?是因为 $.post 而不是提交?我能做些什么?

这是调试器的样子:

替代文字 http://www.freeimagehosting.net/uploads/f734f3d95d.png

编辑:额外信息....

我真的认为由于某种原因模型绑定没有发生。当我尝试这里找到的代码时:)

然后 ModelState.IsValid = true。CompositeValidator.Validate() 返回 0 个错误。我认为这表明模型没有绑定,但我仍然不知道为什么。

控制器方法实际上是这样的(我最初写这个问题时错过了过滤器)

JsonFilter 这样做是为了从 json 提交的数据中提取 POCO:

我在这一行放了一个断点,order是有效的,加上order.OrderNumber有正确的值。

所以仍然没有解决,但希望这些额外的信息将有助于找到解决方案

0 投票
1 回答
1918 浏览

asp.net-mvc - ascx 文件(用户控件)中的客户端验证,用于 asp.net mvc

我在 ascx 文件中有一个 logOn forn,并将其呈现为部分。我如何向此表单添加客户端验证,有什么想法吗?

我下面的代码不起作用