我使用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](這是有效的) –