每个验证属性的所有不显眼的验证属性的列表

List of all unobtrusive validation attributes for each Validation Attribute

提问人:Ala 提问时间:9/2/2015 最后编辑:Ala 更新时间:11/30/2018 访问量:6270

问:

我需要每个验证属性的所有不显眼的验证属性的参考列表。像这样:

enter image description here

asp.net-mvc 验证 unobtrusive-validation unobtrusive-javascript

评论

0赞 steve v 9/3/2015
不清楚你在这里要求什么。您是否想要一个数据注释列表,作为 MVC 中的属性提供,一个 jquery 验证验证器列表,还是什么?
0赞 Ala 9/3/2015
我已经更新了问题:)
0赞 takendarkk 9/3/2015
您是否要求我们推荐异地资源?

答:

5赞 B2K 9/3/2015 #1

MVC 为其提供的每个数据注释验证器都附带了不显眼的验证程序。摘自 Validation with Data Annotation Validators,以下是该列表:

使用数据注释验证程序属性

使用数据注释模型绑定器时,可以使用验证程序属性来执行验证。System.ComponentModel.DataAnnotations 命名空间包括以下验证程序属性:

  • 范围 – 使您能够验证属性的值是否下降 在指定的值范围之间。
  • ReqularExpression – 用于验证 属性与指定的正则表达式模式匹配。
  • 必需 – 使您能够将属性标记为必需。
  • 字符串长度 – 用于指定字符串属性的最大长度。
  • 验证 – 所有验证程序属性的基类。
  • 数据类型 - 对特定数据类型(如电话号码、信用卡和电子邮件地址)的其他验证。不在引用的链接中。

另请参阅 https://dataannotationsextensions.apphb.com,了解应用程序中可包含的其他验证程序。

就客户端标记属性而言,这些属性由上述注释生成的不显眼的适配器处理。它们以“data-val-”为前缀。验证器的其他参数将作为附加属性添加。例如: 正则表达式变为 data-val-regex=“消息” data-val-regex-pattern=“某种模式”

从 MVC3 :jQuery.validate.unobtrusive.js

adapters.addSingleVal("accept", "exts")
        .addSingleVal("regex", "pattern");

adapters.addBool("creditcard")
        .addBool("date")
        .addBool("digits")
        .addBool("email")
        .addBool("number")
        .addBool("url");

adapters.addMinMax("length", "minlength", "maxlength", "rangelength")
        .addMinMax("range", "min", "max", "range");

adapters.add("equalto", ["other"], function (options) {
        // removed for brevity
});
adapters.add("required", function (options) {
    // removed for brevity
});
adapters.add("remote", ["url", "type", "additionalfields"], function (options) {
    // removed for brevity
});

评论

0赞 B2K 9/3/2015
我不认为你会找到你要找的东西,而且我没有时间提供所有潜在组合的答案。假设 DataTypeAttribute 提供了 17 个不同的枚举值。无论如何,这些将导致上面列出的适配器之一。我建议添加一个具有所需属性的视图模型,并生成一个脚手架以查看它生成的内容。
1赞 amura.cxg 11/30/2018 #2

这是一个老问题,虽然有一个答案,但仍然缺乏一个简单的表来描述 C# 中的不同属性和匹配的数据属性。下表包含此信息。

桌子

Data Validation Attributes Table

笔记

  • 所有数据验证属性都将创建表单的数据属性,并且所有属性都将属于表单data-val-<name>="<message>"data-val-<name>-<param>="<value>"
  • 在表中,“HTML 名称”列表示数据属性中的名称。例如。data-val-maxlength
  • 在表中,“参数名称”列表示验证名称后面的数据属性中的参数名称。例如。data-val-maxlength-max
  • Message Index 列是 ErrorMessage 中参数的索引,索引 0 始终是字段名称。例如。ErrorMessage = "The field {0} cannot be longer than {1}"
  • 此数据取自 .NET Core 存储库,可能还有其他库提供的其他属性

引用