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

时间:2015-09-02 15:00:47

标签: asp.net-mvc validation unobtrusive-validation unobtrusive-javascript

我需要每个验证属性的所有不显眼的验证属性的参考列表。类似的东西:

enter image description here

2 个答案:

答案 0 :(得分:5)

MVC为它提供的每个数据注释验证器提供了不显眼的验证器。取自Validation with Data Annotation Validators,以下是该列表:

  

使用数据注释验证器属性

     

使用Data Annotations Model Binder时,使用验证器属性执行验证。 System.ComponentModel.DataAnnotations命名空间包含以下验证器属性:

     
      
  • 范围 - 使您可以验证属性的值是否下降   在指定的值范围之间。
  •   
  • ReqularExpression - 使您可以验证a的值是否为   property匹配指定的正则表达式模式。
  •   
  • 必需 - 允许您根据需要标记属性。
  •   
  • StringLength -   使您可以指定字符串属性的最大长度。
  •   
  • 验证 - 所有验证程序属性的基类。
  •   
  • DataType - 针对特定数据类型的其他验证,例如电话号码,信用卡和电子邮件地址。不在引用的链接中。
  •   

另请参阅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
});

答案 1 :(得分:0)

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

表格

Data Validation Attributes Table

注释

  • 所有数据验证属性都将创建格式为data-val-<name>="<message>"的数据属性,所有属性都将格式为data-val-<name>-<param>="<value>"
  • 在表中的 HTML名称列表示数据属性中的名称。例如。 data-val-maxlength
  • 在表的 Parameter Name 列中,数据名称中的参数名称位于验证名称之后。例如。 data-val-maxlength-max
  • 消息索引列是ErrorMessage中参数的索引,索引0始终是字段名称。例如。 ErrorMessage = "The field {0} cannot be longer than {1}"
  • 此数据取自.NET Core存储库,其他库可能提供了其他属性

参考