【问题标题】:Validation of regular expressions正则表达式的验证
【发布时间】:2011-02-26 16:44:04
【问题描述】:

需要用RegularExpression属性验证数据输入,而在一个属性上需要几个正则表达式,例如:

     [RegularExpression (@ "[a-z] {4,} ", ErrorMessage ="Short Name")]
     [RegularExpression (@ "[a-z]", ErrorMessage = "invalid character ")]
     public string Name {set; get;}

使用RegularExpression的两个属性编译问题 “重复 'RegularExpression' 属性”。

如何实现验证?

【问题讨论】:

  • 作为评论,如果您不限制用户可以使用的字符集,我更愿意,更不用说以英语为中心的小字母集了。您是否会考虑从您的应用程序中删除该限制以避免激怒您的用户?

标签: c# regex validation data-annotations


【解决方案1】:

您可以创建自定义属性:

public class ShortNameAttribute : RegularExpressionAttribute
{
    public ShortNameAttribute() : base(@"[a-z] {4,} ")
    {
    }
}
public class InvalidCharsAttribute : RegularExpressionAttribute
{
    public InvalidCharsAttribute() : base(@"[a-z]")
    {
    }
}


[ShortNameAttribute]
[InvalidCharsAttribute] 
public string Name { get; set; }

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-07
  • 1970-01-01
  • 1970-01-01
  • 2012-04-19
  • 2021-02-24
  • 2014-02-25
  • 2019-06-21
相关资源
最近更新 更多