问题标签 [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 回答
14629 浏览

c# - 如果属性中有验证属性,为什么 Validator.TryValidateObject 不验证类?

我创建了一个以类为目标的自定义 ValidationAttribute。每当我尝试调用 Validator.TryValidateObject 时,这都会正确验证。但是当我的类内的属性中有其他 ValidationAttribute 时,验证结果不包含类级别验证的结果。

这是一个示例代码:

这是我需要验证的类的代码

下面是我如何调用 TryValidateObject 方法:

现在,如果我在 Name 属性中有 [Required] 属性并且我尝试调用 Validator.TryValidateObject,则验证结果只有一个,这就是Required 验证的结果。但是当我从 Name 中删除 [Required] 属性并留下 IsHellowWorld 属性然后调用 TryValidateObject 时,它会给我一个结果,这就是 HellowWorldValidation 的结果。

我需要做的是在类级别和属性级别上进行所有验证。我可以在不实现自己的 TryValidateObject 方法的情况下实现这一目标吗?

0 投票
2 回答
1128 浏览

c# - C# 无法使用自定义验证属性验证属性

我有一个验证类:

这是我使用它的方式:

当我通过以下方式实例化 Car 类时:

什么都不会发生,如果我打印 c.CarMake,它会显示福特 - 验证没有发生。

我只是想知道我在这里想念什么。

谢谢!

0 投票
2 回答
648 浏览

asp.net-web-api - ValidationAttribute 用于验证该值是否在属性上的一个通用列表

在我们的数据库中,我们有几个用于参照完整性的代码表(例如 emailTypes、phoneTypes、countryCodes、stateCodes)。在我们的应用程序中,我们将这些表加载并缓存到通用列表中。现在,应用程序对每个列表都有自定义 ValidationAttributes,以查看提交的值是否在硬编码的值列表中。我相信这可以用一个新的自定义validationAttribute重写,它接受一个通用列表、用于搜索值的属性和值的数据类型,如果值存在于列表中,则返回valid。

首先,我想知道是否可以在自定义验证属性中使用在运行时填充的编译时间列表。

如果是这样,是否有人已经为此提出了一个好的解决方案?如果没有,是否有工作可以解决?

如果您包含用于 js 验证的 IClientValidatable,我将包含奖励积分(不是 stackoverflow 有奖励积分)。

0 投票
0 回答
675 浏览

asp.net-mvc-4 - 自定义验证属性错误消息被忽略

我有以下自定义 ValidationAttribute,其工作方式与Required 验证属性相同,但我接受将其值连接到错误消息的属性的名称。但是,错误消息始终显示为“需要 [fieldName] 字段”。

它有什么问题?

0 投票
2 回答
7173 浏览

asp.net-mvc-4 - MVC RequiredIf 属性 - IsValid 值参数始终为空

我正在实现一个RequiredIf 验证属性,并且传递给 IsValid 方法的值始终为空。

必需的IfAttribute 类

视图模型

编辑器模板

每次提交表单时,都会抛出RequiredIf 错误消息,我感觉它与我最初描述的空值有关。我究竟做错了什么?谢谢!

注意:HTML 似乎可以正确呈现,所以我认为这不是问题。

0 投票
1 回答
2312 浏览

asp.net - 在 MVC 应用程序中永远不会调用 GetClientValidationRules

我有一个实现 IClientValidatable 的自定义 ValidationAttribute。但是永远不会调用 GetClientValidationRules 来将验证规则实际输出到客户端。

该属性没有什么特别之处,但由于某种原因它从未被调用过。我试过在 Application_Start() 中注册一个适配器,但这也不起作用。

在 Application_Start() 我有:

当我在 GetClientValidationRules 中放置断点时,它永远不会被命中。

0 投票
1 回答
199 浏览

asp.net-mvc - 如何使用 FakeItEasy 伪造 ValidationContext?

我有一个派生自ValidationAttribute的类(MVC 中的 DataAnnotation)

以下是该类的重写方法:

我想为此方法编写单元测试。如何使用 FakeItEasy 伪造 ValidationContext 以使其可测试?

对此非常感谢的任何帮助

谢谢

0 投票
0 回答
201 浏览

asp.net-mvc - 使用 ValidationAttribute 对递归关系进行 MVC 4 验证

我有一个 MVC 项目,它在不同的模型中有几个递归关系。请参阅下面的示例模型结构。

例如:

  • tileid and parentid(一个图块可以关联多个图块)

  • regionid and parentid(一个区域可以关联多个区域)

我想创建一个ValidationAttribute名为MVC PreventRecursiveParent,它足够动态,可以在整个系统中使用,而不管模型如何,这会阻止用户将模型上的 parentid 分配给自己。即防止父母和孩子之间的无限循环。

例如,一个缩短的样本模型如下:

当用户创建 时,这个问题并不重要,Tile因为他们当时无法分配parentid,而是当用户编辑Tile.

当用户编辑 a 时,Tile他们可以ParentTile从图块列表中选择 a,并将其分配给当前选定的Tile.

我想确保ParentTileand 因此parentid不能与Tile自身相同,而且在所有其他递归关系模型中也使用相同的代码。

因此我的问题如下:

  • 我可以使用通用属性附加到parentid模型中的任何内容以防止用户将自己分配给自己,如果可以,如何?
0 投票
0 回答
281 浏览

c# - 创建自定义 ValidationAttribute

我正在尝试制作自己的 ValidationAttribute 但是当我需要“值”时它为空。

我有这样的 ViewModel

我的控制器方法是

我的验证属性是:

任何想法?

0 投票
1 回答
221 浏览

c# - 集合内的自定义属性客户端验证

我正在使用这个自定义验证。

我的模型:

看法

JS:

服务器端验证很好。客户端没有,因为我渲染的 html 是

代替

根据我的理解,我应该编辑 GetClientValidationRules 以添加前缀(集合名称和索引),但如何?