问题标签 [asp.net-mvc-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.
asp.net-mvc - ASP.NET MVC 2 验证:元数据类型无法添加到标准 POCO CLR 类中 - 有什么替代方法?
我正在使用实体框架并通过 T4 生成我的 POCO 类 - 这些类从无到有继承并且非常简单(通过 vs 2010 中的模板创建)
我尝试使用元数据类型属性,这样我就可以创建一个伙伴类,但是当我这样做时,我不再能够看到我的属性......如果我删除了该属性!属性出现了。
无论如何,深入搜索我发现了微软的这个声明
所以它似乎不起作用?无论如何,我很难在模型本身上插入我的数据注释,因为它是通过 T4 创建的,因此如果我对其进行编辑然后重新运行该工具,它将删除我的所有更改。
有没有人设法让它工作?
我真的很挣扎。
asp.net-mvc - asp.net mvc 相关的可空实体
我在使用 Model.IsValid 时遇到了一些问题。我正在尝试创建一个类似于此的模型...
我希望文章类别可以为空。但是,当 Category 为 null 时,Model.IsValid 始终为 false。
任何帮助表示赞赏。
asp.net-mvc - 验证下拉列表寻求帮助
我无法让这段代码工作。当我提交表单时,它没有显示验证错误消息。
视图模型
创建.aspx
asp.net-mvc - 如何验证从 ASP.NET MVC3 中的数据库填充的下拉列表?
我有 2 张桌子,个人和国籍。Person 通过 NationalityID 对 Nationality 表有一个 FK。在我的 Create Person 表单中,我有一个包含 NationalityID 和 NationalityDescription 的下拉列表。验证此下拉列表以处理使用开发人员工具栏等将发布的值更改为无效 NationalityID 的人的最佳方法是什么?我一直在研究在视图模型中使用 System.DataAnnotations.AssociationAttribute 但我不确定这是否正是我所需要的。
asp.net-mvc - 嵌套对象的远程 ViewModel 验证不起作用
我有一个看起来像这样的类用户:
对于注册功能,我创建了一个 ViewModel,其中包含一个用户对象和一个用于密码确认的字符串:
我遇到的第一个问题是我似乎无法验证 Compare("User.Password") 的工作,因为它似乎没有找到用户的属性。有没有办法根据 User.Password 属性验证 PasswordConfirmation 属性?
第二个问题是用户名字段的远程验证。我在http://davidhayden.com/blog/dave/archive/2011/01/04/ASPNETMVC3RemoteValidationTutorial.aspx遵循了 David Hayden 的教程,但 UsernameExists 方法中的参数用户名始终为空。我在这里错过了什么吗?
编辑:
对不起,但我实际上对密码比较收到的错误还不够清楚。填写字段时效果很好,如果密码不匹配,我将收到错误消息。但是,在提交表单时,我在验证摘要中收到以下错误:找不到名为 UserToRegister.Password 的属性。
编辑2:
由于乔的帖子,我已经解决了部分问题。远程验证器发回 URL/?UserToRegister.Username=temp 这显然与我的控制器操作的用户名参数不匹配。为了将我的操作参数映射到 UserToRegister.Username,需要以下内容:
这现在可以正确地将参数传递给方法。但是,在密码字段上使用比较属性时,我仍然会收到错误消息。
谢谢。
asp.net - 下拉列表框上的 asp.net 验证
我有一个显示专辑值的下拉列表(cboViewAlbums)。第一项是 请选择专辑...。我正在尝试使用验证,如果 cboViewAlbums 列表选择了值 0,则单击 lb_create_album linkButton 会引发错误。下面是这个和我的尝试的代码:
知道如何让这个工作吗?
谢谢
asp.net-mvc-3 - 有没有办法使用多个 System.Web.Mvc.RemoteAttributes?获取“重复的 RemoteAttribute 属性”。
我需要对视图模型属性执行两个单独的验证。显然,每个属性只能应用一次 RemoteAttribute。这可能是一个愚蠢的问题,但有人知道解决这个问题的方法吗?
c# - 如何验证用户在 ASP.NET MVC 中指定了正确的日期?
客户端(和服务器)端验证 Date 有什么简单的方法吗?
我的想法是为日、月和年设置 3 个输入字段。我正在使用带注释的模型和 AJAX 验证脚本来验证数据。我怎么能用 date 做到这一点?
我可以设置类似 day must be from Range<1, 31> 但是,如果月份是 2 月,那么值 31 无效......
c# - 禁用字段的 MVC“必须是数字”数据类型验证
我有一个包含位置列表的 Telerik MVC ComboBox。客户希望最终用户能够直接将新位置输入到列表中。
提交表单后,它应该接受一个新值并插入到位置表中,当然,将要添加的记录的 LocationID 更新为新插入位置的 ID。
阅读下面的代码片段
我读过 ComboBox 确实允许您输入不在列表中的值,并使用了演示(这里)
保存位置的代码,编辑 locationID 不是问题。我的问题是我的组合框包含整数/字符串值对的列表,而不是字符串/字符串。因此,我在代码中遇到的问题是,如果我尝试提交一个新的位置名称,它会尝试验证它并说它不是一个数字。
我需要一种方法来尝试抑制此验证,仅针对 LocationID 字段,但仍可防止空值。
编辑:我确实找到了这篇文章,但正如那里的 OP 所说,javascript hack 不是很可扩展,所以我真的想避免它。
编辑:
我最终使用了 javascript hack,这是我发现的所有方法。我计划将其封装在方法或属性中,并将其作为答案发布。
我发现通过这个 hack,如果我使用 Telerik().ScriptRegistrar().OnDocumentReady() 将代码块放在文档就绪事件中,它在 Firefox 或 Chrome 中不起作用,正确的window.mvcClientValidationmetadata在到达时会以某种方式被清除这个事件,即使元数据最初被正确推送。
为了解决这个问题,我不得不手动将代码放在它自己的脚本块中,就在表单结束标记下方(这是呈现客户端验证数组的位置)。
此外,现在我直接绑定到我的模型,如下所示:
我不确定在进行模型绑定时这将如何解决,我猜它可能只是返回一个错误,而且我什至不会到达我的操作方法代码。
所以我想这里的想法是在方法签名中使用 FormCollection,检测非整数 LocationID,插入更新,然后运行 UpdateModel()?当然,欢迎提出更好的建议。
谢谢!
代码片段
模型:
控制器:
看法: