问题标签 [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 投票
1 回答
929 浏览

c# - 自定义 ViewModel 类 - 除非指定前缀,否则并非所有字段都标记为无效

我有一个自定义视图模型,其中有两个字段和一个 linq2sql 实体。所有字段都附加了验证属性。即使所有字段都无效,也只有 linq2sql 类中的字段会在视觉上指示错误,并且视图模型中的字段会正常显示。但是会为所有无效字段显示错误消息。

我的自定义 ViewModel 如下所示:

Book 类是一个 linq2sql 实体,它附加了一个用于验证的元数据类型属性。

存储库中有一个 AddBook 方法,有两个重载。一个采用视图模型,一个采用 Book 类型:

控制器中的 Create 操作如下所示:

我正在使用 xVal 生成客户端验证规则。我的创建视图如下所示:

客户端验证工作正常.. 但是如果我关闭 javascript 然后发回所有字段都会显示表单错误消息,但 Field1 和 Field2 未标记为无效.. 字段中没有添加 css 类,也没有生成跨度标签用于视觉错误指示。

截图 http://img22.imageshack.us/img22/324/26677634.jpg

但是如果我用任何东西给 ViewModel 字段加上前缀

并相应地修改视图,然后一切正常:

我在这里做错了什么?

抱歉让这个帖子这么长..

0 投票
1 回答
173 浏览

asp.net-mvc - 对于有使用 xVal 经验的人,是否值得学习和使用城堡验证器而不是内置数据注释?

与标准数据注释相比,城堡验证器为我提供了什么?

我是 xVal、数据注释和城堡验证器的第一次用户,所以无论我决定哪一个,都会有一个学习曲线。刚开始使用 casle 验证器是否值得(我假设它们会更强大)

0 投票
1 回答
779 浏览

c# - xVal,整个类的DataAnnotations

我对一个对象进行了完整的验证,并试图找出处理它的最佳方法。

给定以下课程:

我想使用 dataannotation 和 xval 在持久化类之前对其进行验证,但我有复杂的验证,需要多个属性。

伪:

我想这样注释:

并有这样的验证规则:

我希望参数是我的 LetterResponse 类的实例,但它永远不会在我的验证运行器上被调用?

有谁知道处理这个问题的方法?

谢谢,

哈尔

0 投票
7 回答
4910 浏览

asp.net-mvc - 使用 DataAnnotations 有条件地验证 ASP.NET MVC 模型的一部分?

我的页面上有某些面板在某些情况下是隐藏的。

例如,我可能有一个“帐单地址”和“送货地址”,如果选中了“ShippingSameAsBilling”复选框,我不想验证“送货地址”。

我正在尝试使用 ASP.NET MVC 2(预览版 1)的新DataAnnotations 功能来实现这一点。

我需要防止在未显示“送货地址”时对其进行验证,并且需要找到实现此目的的方法。我说的主要是服务器端,而不是使用 jquery

我怎样才能做到这一点?我有几个与自定义模型绑定相关的想法,但我目前的最佳解决方案如下。对此方法有任何反馈吗?

0 投票
4 回答
3707 浏览

c# - 关于 DataType 如何工作的数据注释是否有很好的参考?

我有一个同时具有 PhoneNumber 和 Email 属性的客户类。使用 DataAnnotations,我可以使用 DataType 验证属性来装饰属性,但我看不到那是什么。

例如:

我有一个单元测试,为这个属性分配了“1515999A”。当我单步执行验证运行程序时,该值被认为对电话号码有效。我会认为这应该是无效的。

我在谷歌上搜索了一些,但找不到对各种枚举 DataTypes 实际捕获的内容的体面解释。有没有值得参考的地方?

编辑:

这是我用于验证运行程序的内容...

0 投票
2 回答
1694 浏览

asp.net-mvc - xVal 如何验证复杂类型的子属性?

我在我的 ASP.NET MVC 应用程序中使用xVal,这通常很棒。在Steve Sanderson 的博客文章之后,我创建了一个 DataAnnotationsValidationRunner 来对属性对象进行服务器端验证。这对于一个简单的类非常有用。例如人:

但是,如果我向这个人添加一个 Address 属性,并用 DataAnnotation 属性标记 Address 类,它们将不会被验证。例如

一个问题是 DataAnnotationValidationRunner 不会遍历复杂的子属性。此外,如果将这些错误添加到错误集合中,则在添加到模型状态时仍需要正确添加前缀。例如。Person 错误是这样添加的:

我认为地址规则例外需要以“person.address”为前缀。是否有支持使用 xVal 处理子对象验证的方法,或者创建扁平数据传输对象是唯一的解决方案?

0 投票
1 回答
1764 浏览

asp.net-mvc - 视图模型的 Asp.NET MVC 自定义验证器?

我使用自定义视图模型类作为 DTO 对象来保存数据以在我的视图页面上显示。我已通过 DataAnnotations 库应用验证,以对这些类的属性执行服务器端验证。这是一个简单的例子:

如果有人提交了一个搜索,并且这个字段没有通过或者通过的长度不是 16,验证失败,并且通过 ValidationMessage HtmlHelper 在页面上显示错误消息:

现在我需要添加按帐户 ID名字/姓氏组合搜索的功能。我的问题是这样的:

如何应用条件验证?如果我使用名字/姓氏提交搜索,我不希望验证失败,因为帐号也没有通过。我找到了这个链接,它显示了如何实现自定义验证器,但这似乎适用于 1 个属性。如何传递整个对象模型,并将适当的验证错误消息传递回要在页面上显示的适当字段?这可能吗?

0 投票
1 回答
256 浏览

model-view-controller - MVC 数据注释测试

我在部分类中有以下代码,并且正在使用 LINQ to SQL:

我正在尝试编写测试以查看是否需要“CustomerName”并使用我在这里找到的代码:http: //bradwilson.typepad.com/blog/2009/04/index.html

var propertyInfo = typeof(Order).GetProperty("CustomerName");

var 属性 = propertyInfo.GetCustomAttributes(typeof(RequiredAttribute), true).Cast().FirstOrDefault();

属性始终为空。

有人可以帮忙吗?

谢谢

戴维

0 投票
3 回答
15543 浏览

c# - ASP.NET MVC 数据注释验证 ErrorMessageResourceType

使用数据注释验证时,一切正常,直到我尝试使用资源。

这是我得到的错误:当前上下文中不存在名称“ErrorMessageResourceType”。

我使用的代码:

我找不到这有什么问题。有经验的人可以帮我解决问题吗?

谢谢!

0 投票
7 回答
59519 浏览

c# - 数据标注日期范围

是否可以对日期使用[Range]注释?

就像是