【发布时间】:2016-10-03 19:16:53
【问题描述】:
如果在我的 MVC 模型中输入的字符串末尾没有连字符 (-),我想要做的是抛出验证错误消息。
我需要为它创建一个自定义正则表达式。这是我目前所拥有的,
[Required(ErrorMessage = "Username is required.")]
[Remote("CheckExistingUserName", "Home", HttpMethod = "POST", ErrorMessage = "Username already exists.")]
[RegularExpression("^(?:[a-zA-Z0-9]+\s?\-)+$", ErrorMessage = "Username is invalid.")]
public string UserName { get; set; }
任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
这看起来很奇怪。但是为什么你不能把它添加到你的正则表达式的末尾呢?
^(?:[a-zA-Z0-9]+\s?)+\-$ -
如果最后的连字符是某种秘密,我有坏消息要告诉你...
-
您的模式应该是
^(?:[a-zA-Z0-9]+\s?)+-$,而不是^(?:[a-zA-Z0-9]+\s?\-)+$。基本上,您可以使用^.*-$要求最后一个字符是连字符。您的正则表达式应满足哪些要求? -
你是对的。感谢您的帮助:-)
标签: c# regex asp.net-mvc data-annotations