问题标签 [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.
asp.net-mvc - 针对整个模型的自定义 ValidationAttribute 测试
我知道这可能是不可能的,但假设我有一个具有两个属性的模型。
我为其中一个属性编写了一个 ValidationAttribute。那个 VA 可以看看其他财产并做出决定吗?
所以;
那么在上面的例子中,验证器是否可以测试“state”属性中的内容并在验证“familyType”时考虑到这一点?
我知道我可能可以将对象保存到会话中,但如果可能的话,我想避免保存任何状态。
wcf - wcf 生成的类和验证应用程序块属性
我是验证应用程序块的新手,并试图将它与 wcf 一起使用...
我有一个 wcf 服务,它具有使用验证应用程序块定义的具有属性的验证规则的数据对象。
在我的客户端 (WPF) 上,我有一个服务参考。当我更新服务引用时,生成的类中没有验证规则属性。
如何从服务中获取规则?我错过了一些步骤,还是不可能?
c# - Validationattribute 仅在值更改时?
我想编写一个自定义 ValidationAttribute 来检查给定值是否唯一。
问题是在编辑屏幕中,不能保证用户实际更改了值,从而导致错误错误。
有没有办法检查我的属性值是否真的改变了?或者我可以仅在值更改时触发属性吗?
我感觉这个要求可能不属于一个属性?
asp.net-mvc - 为什么只在属性级验证器之后才评估模块级验证器?
我在我的视图模型上使用模块级验证器:'PropertiesMustMatch',如下所示:
我注意到,如果我提交未填写名称的表单,则 ValidationSummary() 助手仅返回以下错误:
- 名称字段是必需的。
但是,如果我填写 Name,那么ValidationSummary() 将返回 PropertiesMustMatch 错误:
- “密码”和“密码确认”不匹配。
所以看起来首先评估的是属性级验证器,然后是模型级验证器。
如果它们都被一次验证,我会更喜欢,并且 ValidationSummary 会返回:
- 名称字段是必需的。
- “密码”和“密码确认”不匹配。
有什么想法可以解决这个问题吗?
我正在研究 MVC 2 源代码,试图确定为什么会发生这种情况。
.net - .Net MVC2如何在使用自定义ValidationAttribute时向ModelState添加错误
我有以下 ValidationAttribute 类
它在构造函数中有两个日期属性名称和一个运算符。
在验证方法中,返回语句 LeftDate Operator RightDate 的结果。
因为这是一个 AttriuteTargets.Class 属性,所以我知道框架不可能知道导致验证失败的属性。但我知道是左日期属性失败了,因此我想将模型状态中错误的 ID 设置为此属性。这样做的原因是我希望在表单中标记失败的字段。
问题:如何修改ModelState中添加到错误集合中的错误项,使其id对应于表单中的特定字段?
validation - ValidationResult.MemberNames 属性是否会包含多个值?
我使用反射器进行搜索,但没有找到ValidationResult.MemberNames
应该包含多个值的情况。
所以,首先我想知道为什么 MS 必须这样做IEnumerable<string>
,那么既然他们已经这样做了,我可以相信这个属性只会返回一个值吗?
更新
关于 DataAnnotations 验证系统,我发现更多的草率:
- 如果它们不再存在,and 应该从 validationResults 参数中
TryValidateProperty
删除TryValidateObject
错误。 - ValidationResult 应该覆盖 Equals 和 GetHashCode。
- 为什么 ValidationResult.ErrorMessage 是可变的!?我自己无法构建 EqualityComparer!
- 如果 DataTypeAttribute 仅用于表示问题,为什么它会继承 ValidationAttribute,这只是误导,我不得不努力直到我理解(在反射之后)它不起作用。MS只是没有实现它。
而这样的例子不胜枚举。
asp.net-mvc-3 - 如何在客户端将自定义 ValidationAttribute 呈现为“data-val-xx”属性?
给定一个看起来像这样的 ViewModel:
像这样的视图(此处为 Razor 语法):
我得到以下标记:
但是,我希望它还为我的自定义验证器包含一个“数据-”属性。
我想要这样的东西:
如何使用 ASP.NET MVC 3.0 实现这一点?
例如,我是否需要在我的自定义验证器上添加一些特殊属性?还是在某个地方注册?
asp.net - 如何手动调用 ValidationAttributes?(DataAnnotations 和 ModelState)
我们需要在某些逻辑中迭代模型的属性以自动绑定属性,并希望扩展功能以包含 C# 4.0 中的新数据注释。
目前,我基本上遍历所有 ValidationAttribute 实例中加载的每个属性,并尝试使用 Validate/IsValid 函数进行验证,但这似乎对我不起作用。
例如,我有一个模型,例如:
检查属性的代码是:
我已经调试了代码,模型确实有 3 个属性,其中 2 个是从 ValidationAttribute 派生的,但是当代码通过 Validate 函数(具有空值或 null 值)时,它确实按预期抛出了异常。
我期待我在做一些愚蠢的事情,所以想知道是否有人使用过这个功能并且可以提供帮助。
在此先感谢,杰米
asp.net-mvc - MVC3 ValidationAttribute 中断
我将我的项目从 MVC2 升级到 MVC3 并且所有自定义 ValidationAttributes 都坏了。在模型绑定阶段的某个时刻,它会引发以下异常:
我无法弄清楚发生了什么变化......没有显示名称......
我怀疑 IsValid 覆盖,它应该以某种方式改变,但签名是相同的。
更多信息:
它显然会影响“AttributeTargets.Class”属性,如:
javascript - 使用 ASP.NET MVC 防止 JS 注入
我希望允许用户将 HTML 发布到站点,但需要确保没有将 Javascript 注入站点。
到目前为止,我已经创建了一个验证属性来检查传入的 html 是否存在狡猾的行为
这足够了吗?你怎么做才能检查这种调皮?