答案 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-val-<name>="<message>"
的数据属性,所有属性都将格式为data-val-<name>-<param>="<value>"
data-val-maxlength
data-val-maxlength-max
ErrorMessage = "The field {0} cannot be longer than {1}"
参考