问题标签 [validationattribute]

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 回答
717 浏览

asp.net-mvc - 无法访问 .NET MVC 客户端验证上的 ValidationParameters

我正在为我的 .NET MVC 4 应用程序编写自定义验证。这是第一个使用参数的验证,我发现了一些麻烦。

这是我的 C# 代码:

验证属性:

模型客户端验证规则:

这是JS代码,我的问题:

非常感谢您的帮助!

0 投票
1 回答
436 浏览

asp.net-mvc-3 - 从自定义验证属性中访问 ErrorMessage

我希望能够读取ErrorMessage传递给自定义验证属性的字符串,以便可以string.Format()对其进行一些操作。但是我好像找不到?

例如,我有一个自定义属性:

标为:

ErrorMessageString不包含它或ErrorMessage

0 投票
0 回答
174 浏览

data-annotations - 使用没有静态属性的“ErrorMessageResourceType”

我正在进入验证属性的世界,试图更强烈地订阅 DRY。我不使用现成的资源系统,因为根据经验,它是有问题的。所以我开发了一个更好的基于 XML 的资源提供程序,但我发现我不能将它与System.ComponentModel.DataAnnotations.ValidationAttribute类族一起使用。要求资源类型为其资源具有硬编码的静态属性似乎是一个巨大的限制。我原以为界面会更合理。有没有办法我可以使用反射或其他东西来破解它,以便这些属性的资源系统认为它们是从静态属性中读取的,但实际上是通过我的组件的方法进行的?

这是我的资源提供者的接口。

现在,我想我必须创建静态属性“替身”,这是很多额外的代码,我想避免。

永远感谢。

0 投票
1 回答
1372 浏览

asp.net-mvc - 带有 MVC 验证的 CustomTypeDescriptor - 如何使用 property.GetValue(component) 获取属性值?

我为我的一个 MVC 模型创建了自定义 TypeDescriptionProvider。我用它来动态分配ValidationAttribute。

我使用一个属性的值来决定将哪些属性添加到其他属性。在我使用 DataAnnotationsValidationRunner 的 Web 服务中,验证工作正常。

跑步者来源:这里

要获取属性值,我使用以下代码(在 MyCustomTypeDescriptor 中)

在 MVC 视图中将此模型与此描述符一起使用时,出现以下异常:

值不能为空。参数名称:primary 说明:在执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.ArgumentNullException:值不能为空。参数名称:primary

在 TypeDescriptor 中获取属性值的正确方法是什么?我通过模型类型的提供者使用这个描述符,而不是实例(例如 global.asax)。

编辑:我找到了解决方法。在 MyTypeDescriptorProvider 的 GetTypeDescriptor 方法中,我使用实例参数并将其传递给 MyCustomTypeDescriptor 的构造函数。但是,MVC 验证不起作用。我虽然它自动使用这些动态数据(类似于上面提到的跑步者)。

编辑 2:使用 workaroud 我几乎总是看到实例为空。所以不可能在那里获得价值并将其交给 TypeDescriptor 的构造函数......

谢谢!

0 投票
1 回答
915 浏览

asp.net-mvc-4 - MVC 4 验证属性不适用于动态添加的字段

这是我的 Product 和 ProductItem 类/模型:

对于 ProductItem,我使用 jQuery 动态添加其字段,如您在此处看到的:

现在,应用于名称和价格的验证属性工作正常,但不适用于动态添加的字段(即“RawMaterial”和“Qty”)。

请给我这个验证将如何工作的建议?

注意:出于测试目的,我刚刚添加了索引为 0 的 List 的第一个对象。

0 投票
0 回答
849 浏览

c#-4.0 - WebAPI 在 POST 方法调用中调用自定义验证属性两次 - 正常吗?

我的问题:在调用 webapi post 方法(使用 EF)时,自定义验证属性被调用了两次,而不是一次 - 我不确定这是否正常并且想要一个明确的答案。它在以下几点进行验证:

  1. 就在断点进入webapi应用post方法之前(推测是填充了ModelState)

  2. 再次在插入发生之前 (db.Applications.Add(application))

    /li>

这是我的 webAPI 端点:

更好的解决方案是简单地为应用程序对象提供一个数据传输类,对其进行很少/简单的验证,以便传递数据,然后让任何特定于域的验证错误通过 HttpResponseMessage 冒泡,因此查找仅在插入时运行尝试使用合理的数据?

谢谢!担。

0 投票
0 回答
1824 浏览

c# - 将参数传递给自定义验证属性

您好我正在尝试创建下一个简单的自定义验证:

并像这样使用它:

但我不断收到下一个错误:

错误 1 ​​属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式

0 投票
2 回答
9403 浏览

c# - 从模型中获取数据注释属性

我想创建自定义客户端验证器,但我想通过业务逻辑层的数据注释属性定义验证规则。如何在运行时访问模型验证属性?

我想编写“生成器”,它将转换此代码:

进入这个:

但当然不是来自 .cs 来源。=)

也许是反思?

UPD

我找到了这个方法:MSDN。但是不明白怎么用。

0 投票
1 回答
856 浏览

c# - 从数据验证属性中联系数据库

我有一个客户端 typeahead 可以拉回一个 json 列表并向用户提供他们可以为输入字段输入的特定位置列表的选项。

在服务器上,我想确保提交的表单数据与这些地方之一匹配。实际上它应该除非有人恶意并从提琴手或类似的东西发布数据。

我从存储在 Redis 中的列表中将数据提供给 typeahead。我读过从属性中联系数据库是不好的做法,但我想在允许逻辑流程继续之前检查 redis 列表中是否存在该位置。

我可以在每个网络服务器实例启动时静态缓存列表,但这意味着如果列表发生变化,则必须重新启动所有服务器才能获得更改。

也许我应该使用流利的验证器而不是使用验证属性?

http://fluentvalidation.codeplex.com/wikipage?title=ValidatorFactory&referringTitle=Documentation

0 投票
0 回答
314 浏览

partial-views - PartialView 中的自定义 ValidationAttribute 不显示错误消息

我在一个 mVC 简单站点中做了一个自定义验证使用 ValidationAttribute 的概念教授,验证了一个日期范围。只对finishDate 感兴趣的是在startDate 之前。一切正常。好吧,我没有客户端验证,但服务器端工作顺利。到目前为止,一切都很好。

我现在的问题是,在我的真正解决方案中,我将表单作为部分视图。scneario 是一种简历表格,您可以在其中创建多种工作经验。我在父视图中包含 _CreatejobExperience partialView 并使用 bpopup jquery 插件显示它。

我以与我的简单概念证明相同的方式实现了一切。但是当验证失败但弹出窗口没有关闭时,错误消息不会显示。

我的验证课程是

属性和装饰器是这样设置的

在我的控制器中,我有像这样在表单帖子上运行的操作

在我的概念证明中,在我的控制器中,我有类似的东西,

我认为问题在于回报。如何使错误消息显示在部分视图中。

更新

Parent View 是控制器的 Index 视图,看起来有点像这样。我刚刚删除了不相关的部分