【问题标题】:MVC Regular Expression Data Attribute Validation is firing incorrectlyMVC 正则表达式数据属性验证未正确触发
【发布时间】:2012-08-30 04:24:40
【问题描述】:

无论在字段中输入什么内容,以下正则表达式属性都会触发错误。这发生在客户端。此外,它显示的是通用消息而不是指定消息。你能帮忙吗?

公共类RegisterModel

{

    [Required]

    [StringLength(63, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]

    [RegularExpression(@"/^[a-z\d]+([-_][a-z\d]+)*$/i",ErrorMessage="The Site Name can only contain letters from a-z (no accents), numbers from 0-9 and non consecutive hyphens or underscores.")]

    [Display(Name = "Site Name")]

    public string UserName { get; set; }

}

以下不同的正则表达式可以工作,因此它一定是表达式本身或 @(字符串文字)字符存在问题,因为 \d 组合是 C# 转义字符。

RegularExpression("^[a-zA-Z][a-zA-Z0-9]+", ErrorMessage = "站点名称只能包含来自 az 的字母(无重音符号)、0-9 和非连续的连字符或下划线。")]

【问题讨论】:

    标签: regex asp.net-mvc


    【解决方案1】:

    以下似乎工作正常。

    [RegularExpression(@"^(a-z0-9{0,61}[a-z0-9]|[a-z0-9])$", ErrorMessage = "站点名称只能包含来自az(无重音符号)、0-9 之间的数字和非连续连字符或下划线。")]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多