问题标签 [data-annotations]

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 投票
2 回答
3630 浏览

asp.net-mvc - MVC 数据注释 - 必填字段不起作用

嗨,我在整个应用程序中都有以下鳕鱼,但只有两个字段无法正常工作。

以下测试运行并通过:

我的控制器看起来像:

我在模型中有其他必填字段,它们都可以。该字段为空(我检查过)但不会使模型无效 - 因此没有验证并且保存时出错。

我的观点

我查看了我的 .dbml(Linq to SQl),拼写看起来不错。

我错过了一些简单的东西 - 请发疯。

谢谢

戴维

0 投票
1 回答
531 浏览

c# - 使用属性作为属性参数

我编写了一个自定义信用卡验证属性,用于检查 CardNumber 属性对特定卡类型是否有效(同一类中的另一个属性)

这不会编译,因为工作室抱怨属性参数必须是常量、typeof 表达式或属性参数类型 (?) 的数组创建表达式。

无论如何我可以通过 cirvumvent 这个并将我的传递this.CardType给属性吗?

善良,

0 投票
1 回答
993 浏览

.net - 我可以使用我的 RegularExpression 属性而不是 DataAnnotations 属性吗?

我正在尝试使用可重用的正则表达式类并与 MVC 中的 DataAnnotations 一起使用。就像是:

这会编译,但如果属性不匹配,则不会引发错误。

这一切都符合标准

0 投票
4 回答
2183 浏览

asp.net-mvc - MVC 数据标注层:set CurrentUICulture 语句放在哪里?

我对 MVC 应用程序的本地化感到疯狂。

在我最近的一个问题之后,我遵循了这种方法:

  1. 语言存储在 Session["lang"]
  2. 每个控制器都继承自我自己的BaseController,它覆盖了OnActionExecuting,并在这个方法中读取Session并设置CurrentCulture和CurrentUICulture

这很好用,直到数据注释层出现。似乎它在动作本身执行之前被调用,因此它总是以默认语言获取错误消息!

字段声明如下所示:

那么,有什么合理的地方可以拨打电话吗?

我在 Controller 构造函数中初始化了 Data Annotation Model Binder。

因此,由于 Session 在控制器的构造函数中始终为空,并且在数据注释验证字段之后调用操作覆盖,我可以在哪里设置 CurrentCulture 和 CurrentUICulture 以获取本地化错误?

我尝试将 CurrentCulture 和 CurrentUiCulture 放入 Application_*(例如 Application_AcquireRequestState 或 Application_PreRequestHandlerExecute)似乎没有任何效果......

0 投票
1 回答
434 浏览

asp.net-mvc - 带有亚音速 3.0 的 asp.net mvc 数据注释

有没有人使用 asp.net mvc 构建应用程序,带有用于验证的数据注释和用于 BOL 生成的亚音速 3.0?

我目前在部分类中使用 IDataErrorInfo 并想转移到数据注释,但我不确定如何使用 subsonic 3.0 有我的对象生成器。

我正在使用 MVC 1.0

我想找到一个代码示例来向 subsonic 3.0 生成的对象添加数据注释。

谢谢

0 投票
4 回答
8412 浏览

asp.net - ASP.NET MVC、Linq to SQL 数据注释验证

我正在尝试对我的 Linq to SQL 对象实施数据注释。.dbml 文件已生成,我不确定如何在不接触生成的源代码的情况下向对象添加数据注释。

我试图将数据注释添加到对象的单独部分类中,但它无法识别它,也没有 Intelli 感知。

0 投票
4 回答
2503 浏览

asp.net-mvc - 将 DataAnnotations 验证与复杂的业务规则相结合

我了解使用基本要求和最小长度注释类属性,并获得 asp.net mvc 服务器端和客户端验证的所有好处。

但是,有没有人有一个链接显示您如何将此“基础”验证与更复杂的业务规则结合起来。我将如何运行业务规则功能,例如,客户是否在去年订购了任何东西(需要数据库命中)并且仍然使用相同的 DataAnnotation 和 mvc 验证管道?

目标:不想要两种生成和输出验证方法的方式。

0 投票
4 回答
3392 浏览

asp.net-mvc - ASP.NET MVC 的验证库是什么?

我正在尝试决定为新的 ASP.NET MVC 项目采用哪种验证方法。(哇,有很多选择!)

该项目使用 NHibernate,所以我首先考虑的是 NHibernate Validator(因为与 NHibernate 紧密集成)。然而,据我所知,这种紧密集成只有几个好处:

1) NHibernate 生成的数据库模式将包括验证的详细信息(例如,列长度将设置为验证中允许的最大值)。(不过,这并不是我真正感兴趣的,因为我手动生成模式。)

2) 如果您尝试保存不符合验证规范的数据,NHibernate 将抛出异常。(这对我来说似乎相当多余,因为数据可能已经通过您在保存之前选择的任何机制进行了验证)

如果 NHibernate Validator 有更多好处,请告诉我!

我读过的其他库包括:

  • MS 数据注释
  • 城堡验证器
  • 还有什么?

我也一直在考虑使用 xVal 从同一组规则中提供客户端验证。但是,我听说 ASP.NET MVC v2 将包含类似于 xVal(与 jquery 集成)的东西?这个新包含的功能是否会使其他一些功能变得多余?

所以,我基本上是在征求人们对这里应该采取什么方向的建议。我不想实施一个特定的计划,只是在另一个成为主导技术时不得不把它撕掉。

什么对你有用?您认为哪个选项具有/将具有优势?

谢谢!

0 投票
5 回答
9030 浏览

asp.net-mvc - ASP.NET MVC:数据注释验证是否足够?

我在 ASP.NET MVC 2 中广泛使用 Data Annotation 验证。这个新功能节省了大量时间,因为我现在能够在一个地方定义客户端验证和服务器端验证。然而,当我做一些详细的测试时,我意识到如果我只依赖数据注释验证,那么有人很容易绕过服务器端验证。例如,如果我通过使用 [Required] 属性注释属性来定义一个必填字段,并在表单中为该必填字段放置一个文本框,用户可以简单地从 DOM 中删除该文本框(这可以通过 Firebug 轻松完成)现在,在 Controller 内部的 ModelBinding 期间,不会在该属性上触发 Data Annotation 验证。为确保触发“必需”验证,

大家对验证有什么建议?数据注释验证是否足够?或者是否需要重复验证以确保在所有情况下都会触发验证?

后续评论: 根据下面的答案,我似乎不能单独依赖模型绑定器和数据注释验证。由于我们得出的结论是需要额外的服务器端验证,我的服务层是否有一种简单的方法可以根据数据注释中定义的内容触发验证?似乎这将使我们两全其美……我们不需要重复验证代码,但即使 Model Binder 没有触发验证,我们仍将确保执行验证。

我将把这个后续评论作为一个单独的问题发布,因为它提出的问题与原来的问题不同。

0 投票
3 回答
3037 浏览

asp.net-mvc - ASP.NET MVC:如何在服务层执行数据注释验证?

在此处提出的最近一个问题中: ASP.NET MVC:数据注释验证是否足够?

...得出的结论是,依靠数据注释验证(由模型绑定器触发)不足以确保始终执行验证。我们仍然需要在服务层(或 ModelBinding 发生后的其他地方)添加相同的验证逻辑。不幸的是,我们将复制我们的验证代码(一次是使用数据注释,一次是在服务层)。服务层是否有一种简单的方法可以根据数据注释中定义的内容触发验证?如果这是可能的,那么我们将两全其美......我们不需要重复验证代码,但我们仍将确保验证始终被执行。