2012-09-05 49 views
1

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

公共类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非连续的连字符或下划线。“)]

回答

0

以下似乎工作正常。

[RegularExpression(@“^(a-z0-9 {0,61} [a-z0-9] | [a-z0-9])$”,ErrorMessage =“网站名称只能包含字母从az(无口音),0-9的数字和非连续的连字符或下划线。“)]