正则表达式错误信息

Posted

技术标签:

【中文标题】正则表达式错误信息【英文标题】:Regular expression error message 【发布时间】:2013-06-22 04:54:39 【问题描述】:

使用RegularExpression(@"^\d1,15$")],我希望用户输入最长为 15 位的数字,这会返回错误消息'请输入最多 15 位的联系电话号码'正确

[Required(ErrorMessage = ("Please enter up to 15 digits for a contact number")), Display(Name = "Contact Number"), RegularExpression(@"^\d1,15$")]
public string ContactNumber  get; set; 

如果用户没有这样做,我会收到错误消息:

The field Contact Number must match the regular expression '^\d1,15$'.

而不是'Please enter up to 15 digits for a contact number'...有人知道为什么吗? 谢谢

【问题讨论】:

【参考方案1】:

您已将ErrorMessage 分配给RequiredAttribute(在这种情况下您绝对不需要,因为正则表达式)。所以:

[Display(Name = "Contact Number")]
[RegularExpression(@"^\d1,15$", ErrorMessage = "Please enter up to 15 digits for a contact number")]
public string ContactNumber  get; set; 

【讨论】:

【参考方案2】:

您需要将消息放在RegularExpression 属性中,而不是Required 属性中。

您已将错误消息添加到Required 属性,这意味着它将在字段为空时显示。

【讨论】:

【参考方案3】:

你可以试试下面的代码:

[RegularExpression(@"^\d1,15$", ErrorMessage = "Please enter up to 15 digits for a contact number")]
public string ContactNumber  get; set; 

【讨论】:

以上是关于正则表达式错误信息的主要内容,如果未能解决你的问题,请参考以下文章

go语言正则表达式-实践教程

正则表达式:除了特殊文件类型(如.lnk)之外的所有文件

Linux之特殊符号与正则表达式

在 JavaScript 正则表达式中使用 1+ 所有格量词时出现正则表达式错误

正则表达式的隐藏陷阱,你都了解么?

当正则表达式有效且在其他地方工作时,带有“m”标志的 Javascript 正则表达式错误、“无效的正则表达式组”