MVC3模型属性中的RegexStringValidator验证

时间:2011-11-27 09:39:28

标签: c# asp.net asp.net-mvc-3

我想在一些属性上使用RegexStringValidator

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

这实际上接受任何长度为4个字符的东西而不仅仅是“AAAA”,这是我所期待的。我有什么魔法吗?

由于 安东

1 个答案:

答案 0 :(得分:4)

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

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

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

  • 范围 - 使您可以验证属性的值是否下降 在指定的值范围之间。
  • ReqularExpression - 使您可以验证a的值是否为 property匹配指定的正则表达式模式。
  • 必需 - 允许您根据需要标记属性。
  • StringLength - 允许您指定字符串的最大长度 属性。

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

  • 远程 - 允许使用服务器回调执行客户端验证。
  • 比较 - 确保模型对象中的两个属性具有相同的值。