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

asp.net-mvc - 针对整个模型的自定义 ValidationAttribute 测试

我知道这可能是不可能的,但假设我有一个具有两个属性的模型。

我为其中一个属性编写了一个 ValidationAttribute。那个 VA 可以看看其他财产并做出决定吗?

所以;

那么在上面的例子中,验证器是否可以测试“state”属性中的内容并在验证“familyType”时考虑到这一点?

我知道我可能可以将对象保存到会话中,但如果可能的话,我想避免保存任何状态。

0 投票
1 回答
618 浏览

wcf - wcf 生成的类和验证应用程序块属性

我是验证应用程序块的新手,并试图将它与 wcf 一起使用...

我有一个 wcf 服务,它具有使用验证应用程序块定义的具有属性的验证规则的数据对象。

在我的客户端 (WPF) 上,我有一个服务参考。当我更新服务引用时,生成的类中没有验证规则属性。

如何从服务中获取规则?我错过了一些步骤,还是不可能?

0 投票
1 回答
849 浏览

c# - Validationattribute 仅在值更改时?

我想编写一个自定义 ValidationAttribute 来检查给定值是否唯一。

问题是在编辑屏幕中,不能保证用户实际更改了值,从而导致错误错误。

有没有办法检查我的属性值是否真的改变了?或者我可以仅在值更改时触发属性吗?

我感觉这个要求可能不属于一个属性?

0 投票
1 回答
294 浏览

asp.net-mvc - 为什么只在属性级验证器之后才评估模块级验证器?

我在我的视图模型上使用模块级验证器:'PropertiesMustMatch',如下所示:

我注意到,如果我提交未填写名称的表单,则 ValidationSummary() 助手仅返回以下错误:

  • 名称字段是必需的。

但是,如果我填写 Name,那么ValidationSummary() 将返回 PropertiesMustMatch 错误:

  • “密码”和“密码确认”不匹配。

所以看起来首先评估的是属性级验证器,然后是模型级验证器。

如果它们都被一次验证,我会更喜欢,并且 ValidationSummary 会返回:

  • 名称字段是必需的。
  • “密码”和“密码确认”不匹配。

有什么想法可以解决这个问题吗?

我正在研究 MVC 2 源代码,试图确定为什么会发生这种情况。

0 投票
1 回答
1169 浏览

.net - .Net MVC2如何在使用自定义ValidationAttribute时向ModelState添加错误

我有以下 ValidationAttribute 类

它在构造函数中有两个日期属性名称和一个运算符。

在验证方法中,返回语句 LeftDate Operator RightDate 的结果。

因为这是一个 AttriuteTargets.Class 属性,所以我知道框架不可能知道导致验证失败的属性。但我知道是左日期属性失败了,因此我想将模型状态中错误的 ID 设置为此属性。这样做的原因是我希望在表单中标记失败的字段。

问题:如何修改ModelState中添加到错误集合中的错误项,使其id对应于表单中的特定字段?

0 投票
1 回答
569 浏览

validation - ValidationResult.MemberNames 属性是否会包含多个值?

我使用反射器进行搜索,但没有找到ValidationResult.MemberNames应该包含多个值的情况。

所以,首先我想知道为什么 MS 必须这样做IEnumerable<string>,那么既然他们已经这样做了,我可以相信这个属性只会返回一个值吗?

更新
关于 DataAnnotations 验证系统,我发现更多的草率:

  1. 如果它们不再存在,and 应该从 validationResults 参数中TryValidateProperty删除TryValidateObject错误
  2. ValidationResult 应该覆盖 Equals 和 GetHashCode。
  3. 为什么 ValidationResult.ErrorMessage 是可变的!?我自己无法构建 EqualityComparer!
  4. 如果 DataTypeAttribute 仅用于表示问题,为什么它会继承 ValidationAttribute,这只是误导,我不得不努力直到我理解(在反射之后)它不起作用。MS只是没有实现它。

而这样的例子不胜枚举。

0 投票
1 回答
6916 浏览

asp.net-mvc-3 - 如何在客户端将自定义 ValidationAttribute 呈现为“da​​ta-val-xx”属性?

给定一个看起来像这样的 ViewModel:

像这样的视图(此处为 Razor 语法):

我得到以下标记:

但是,我希望它还为我的自定义验证器包含一个“数据-”属性。

我想要这样的东西:

如何使用 ASP.NET MVC 3.0 实现这一点?

例如,我是否需要在我的自定义验证器上添加一些特殊属性?还是在某个地方注册?

0 投票
2 回答
5637 浏览

asp.net - 如何手动调用 ValidationAttributes?(DataAnnotations 和 ModelState)

我们需要在某些逻辑中迭代模型的属性以自动绑定属性,并希望扩展功能以包含 C# 4.0 中的新数据注释。

目前,我基本上遍历所有 ValidationAttribute 实例中加载的每个属性,并尝试使用 Validate/IsValid 函数进行验证,但这似乎对我不起作用。

例如,我有一个模型,例如:

检查属性的代码是:

我已经调试了代码,模型确实有 3 个属性,其中 2 个是从 ValidationAttribute 派生的,但是当代码通过 Validate 函数(具有空值或 null 值)时,它确实按预期抛出了异常。

我期待我在做一些愚蠢的事情,所以想知道是否有人使用过这个功能并且可以提供帮助。

在此先感谢,杰米

0 投票
1 回答
1370 浏览

asp.net-mvc - MVC3 ValidationAttribute 中断

我将我的项目从 MVC2 升级到 MVC3 并且所有自定义 ValidationAttributes 都坏了。在模型绑定阶段的某个时刻,它会引发以下异常:

我无法弄清楚发生了什么变化......没有显示名称......

我怀疑 IsValid 覆盖,它应该以某种方式改变,但签名是相同的。

更多信息:

它显然会影响“AttributeTargets.Class”属性,如:

0 投票
3 回答
473 浏览

javascript - 使用 ASP.NET MVC 防止 JS 注入

我希望允许用户将 HTML 发布到站点,但需要确保没有将 Javascript 注入站点。

到目前为止,我已经创建了一个验证属性来检查传入的 html 是否存在狡猾的行为

这足够了吗?你怎么做才能检查这种调皮?