繁体   English   中英

用于包括客户端在内的动态验证属性的ASP.NET MVC 3模式

ASP.NET MVC 3 Pattern for dynamic validation attributes including client side

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我对表单中字段的验证要求包含在外部表中,以便可以在不更改和重建代码的情况下更新它们。

我有大约100个字段,其中包含验证要求-范围,要求,正则表达式以及对其他字段的依赖。 一个示例是日期范围验证。 出生日期字段要求的日期范围是当前日期的-10年到-50年之间。

我已阅读了有关该主题的内容,但尚未确定完整解决方案的模式。

我将Visual Studio 2010与MVC 3和Entity Framework结合使用。

对此将有任何帮助。 提前致谢。

1 个回复

在简单的层次上,我认为您仍然可以使用内置的Data-Annotations验证属性来进行验证,为此,您应该将表中存储的验证规则映射到这些属性。

我认为您所要做的就是通过继承ModelValidatorProvider类来创建自定义模型验证提供程序。 此类包含一个名为GetValidators方法,该方法返回该模型的集合验证器。

您必须实现GetValidators方法,在其中必须进行数据库调用以从数据库(或从缓存?)获取模型的验证规则,并将其转换为ModelValidator 您仍然可以使用内置的DataAnnotationsModelValidator进行验证。

我建议您研究一下DataAnnotationsModelValidatorProvider的源代码,它将为您提供所有信息。 在该类中,他们所做的基本上是迭代应用于模型属性的所有验证属性,并通过适配器和工厂将它们转换为ModelValidator 就您而言,它们不是属性而是作为记录存储在表中,我认为不会有太多工作要做。

2 Asp.net MVC 4动态服务器和客户端验证

我公司正在开发必须通过数据库完全自定义的多租户应用程序。 这包括验证,因此我创建了几个表,这些表包含有关jquery验证方法及其分配给属性的方式的信息。 我已禁用自动属性验证生成,并使用正确生成多个客户端验证规则的属性标记了每个相关属性。 但是,当我必须在服务器端验证模型时,就会出现问 ...

3 ASP.Net MVC:客户端验证

当输入被视为无效时,有没有一种方法可以用红色验证字段。 我不想使用Html.ValidationMessageFor,因为我不希望带有任何消息(仅适用于“必填”字段)。 谢谢你的帮助 ...

4 ASP.NET MVC中的客户端验证

我对asp.net MVC很陌生。 我在将客户端验证错误附加到MVC中的验证摘要列表时遇到问题。 在客户端提交单击功能上,即使表单中存在验证错误,validation-summary-errors div始终为空。 让我用代码片段进行详细说明。我提供的代码片段是我的示例应用程序。 ...

5 ASP.NET MVC客户端验证

我所有关于使用ASP.NET MVC,但我希望改进的领域之一是客户端验证。 我知道最新版本(预览版5)有很多新的验证功能,但它们似乎都是在页面发布后。 我看过Steve Sanderson的一篇有趣的文章......使用实时验证,Castle.Components.Validator ...

6 asp.net mvc客户端验证

在阅读ScottGU关于该主题的博客文章后 ,我一直在修改ASP.net MVC中的客户端验证功能。 使用System.Componentmodel.DataAnnotations属性非常容易,如下所示: ......但是如果你需要一些更复杂的东西会发生什么。 如果您的Address ...

7 ASP.NET MVC 上的客户端验证

我想防止多次点击提交按钮。 我设法通过单击提交按钮时冻结屏幕来做到这一点。 唯一的问题是客户端验证。 当必填字段为空时,屏幕会冻结,我无法在此页面中执行任何其他操作。 我正在尝试检查表单的验证,但它看起来不起作用。 我得到那个表格一直有效。 这是验证的字段之一: ...

9 ASP.NET MVC 2 RC-使用数据注释的客户端验证因多个属性而失败

在模型上使用数据注释时,我无法发出用于客户端验证的JavaScript。 这是一个模型示例,可以在两个必填字段以及发出的JavaScript的情况下正常工作: 只要将另一个属性(即正则表达式属性)放在EmailAddress字段上,JavaScript就不再发出任何规则。 请注意,在 ...

10 客户端和服务器端验证asp.net MVC 4

我正在使用Asp.net MVC4进行表单验证。 我已经使用JavaScript完成了客户端验证,并使用了模型和数据注释完成了服务器端验证。 问题是,当我提交表单进行测试时,我同时收到客户端验证错误消息(JavaScript)和服务器端验证消息(数据注释)。 是否有任何人知道我 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM