RegexStringValidator在MVC3模型属性中的验证

本文关键字:验证 属性 模型 MVC3 RegexStringValidator | 更新日期: 2023-09-27 18:15:47

我试图在几个属性上使用RegexStringValidator:

[Required, StringLength(4, MinimumLength = 4), RegexStringValidator(@"AAAA")]
public virtual string ValueGuid { get; set; }

这实际上接受任何长度为4个字符的内容,而不仅仅是我期望的"AAAA"。我是不是错过了什么魔法?

谢谢安东

RegexStringValidator在MVC3模型属性中的验证

您需要使用数据注释命名空间中的RegularExpressionAttribute,而不是RegexStringValidator

RegexStringValidator用于自定义配置属性的验证,不会被默认的MVC模型绑定器选中进行验证。

数据注释名称空间中支持的验证属性如下:

  • Range -使您能够验证属性的值是否下降
  • requlareexpression -允许您验证a属性匹配指定正则表达式模式。
  • Required -允许您将属性标记为必需。
  • StringLength -允许您指定字符串的最大长度财产。

MVC框架还提供了两个额外的属性:

  • Remote -启用通过服务器回调执行客户端验证。
  • Compare -确保模型对象中的两个属性具有相同的值。