模型类的正则表达式问题

时间:2014-08-06 01:36:00

标签: regex asp.net-mvc model asp.net-mvc-5

我有一个模型类,其中包含我的国家/地区列表的以下属性。

    [Required(ErrorMessage = "Please select a country")]
    [RegularExpression("^(?!----------------$)", ErrorMessage= "Please select a country")]
    public string Country { get; set; }

当用户点击任何国家/地区时,他们会收到错误消息! 我只需要在用户单击----------------选项时显示错误消息。

enter image description here

我已经尝试了其他几种表达方式,但它们似乎根本不起作用。 还试过这个:[RegularExpression("/^(?!----------------)$/" 任何想法?

1 个答案:

答案 0 :(得分:1)

使用与当然有效的模式匹配的模式。另外,不要在模式中使用开始和结束正斜杠。

您尝试的模式的一个简单修复是使用.+补充负面预测:

^(?!----------------).+$

这是a regex fiddle for the tweaked version of your pattern

但是,我会根据您列表中的国家/地区来考虑以下模式 - 并根据需要对其进行优化(例如,对于Unicode字符等):

^[A-Z][a-z]+( [A-Z][a-z]+)*( \([A-Z]+\))*$

这是a regex fiddle for this alternate (starting-point) pattern