我使用RegularExpression attribute验证我的视图模型中一个输入上的多个电子邮件地址。 ErrorMessage不断出现在现场。我已经在5个不同的在线测试网站上验证了我的RegEx,并且他们都测试了正面。C#正则表达式属性不按预期方式工作
这里是我的代码:
[RegularExpression(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([,;\s]+\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*){0,7}", ErrorMessage = "Please enter a valid email address. For multiple addresses please use a comma or semicolon to separate the email addresses.")]
public string EmailAddresses { get; set; }
如果我进入它的工作原理,如果我输入两个电子邮件地址,没有它的工作空间的电子邮件地址,但如果我添加一个空格它打破。我添加了'\ s'来包含空格,它在我尝试过的在线测试人员上工作,但在我的应用程序中不起作用。
预期有效的结果应该是: '[email protected],[email protected],[email protected]'
然而,这是回来为无效。如果我使用完全相同的序列并且没有空格,那么它是有效的。
Kendo UI在发送给控制器之前检查表单的验证。
任何帮助非常感谢。先谢谢你。
'\ s'还允许换行符,垂直制表符,换页符以及其他几个符号。你确定你想要那些包含在你可以接受的比赛吗? –
它怎么“打破?”给我们一些例子输入和输出与你的期望。它是逻辑正则表达式还是一些代码? – ps2goat
@ ps2goat,这里有一些例子.... [email protected],[email protected]; [email protected](这是无效的) test @ test.com,test2 @ test.com; [email protected](这是有效的) –