1

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

公共类注册模型

{

    [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 中的数字和非连续连字符或下划线。")]

4

1 回答 1

0

以下似乎工作正常。

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

于 2012-09-05T13:59:10.060 回答