2017-09-05 83 views
-2

我有一個模型,有一個屬性,名爲UserCustomMessage下面你可以看到如何在我的模型中設置該屬性。防止用戶發送插入符號。

我需要確保用戶不會發送插入符號,因爲這會在我的代碼中稍後創建問題。我需要我的正則表達式來從字面上找到任何^符號並返回錯誤消息用戶自定義消息中的字符無效。

根據這篇文章 How do you match a caret (^) symbol in regex?

我已經把我的正則表達式應該採取插入符號符號的每一個文字實例符號但是它沒有,和請求通過。這樣做的最好方法是什麼?

[RegularExpression(@"[/\^/]", ErrorMessage = "Invalid character in User Custom Message.")] 
public string UserCustomMessage { get; set; } 
+0

它符合任何插入符號看看https://ideone.com/sq8nEf – marvel308

+0

您使用的是ASP.NET嗎?你確定你的'RegularExpressionAttribute'完成你認爲它的工作嗎? –

+0

@ marvel308它看起來好像你的表達式是** string pattern = @「\ ^」; **我會試着看看它是如何發生的。 – Lostaunaum

回答

1
[/\^/] 

將匹配/,\或^

你可以使用正則表達式

@"/\^/" 

與之相匹配的看到它在online compiler

0

這正是你需要把你的屬性的標題放在ON上LY停止用戶發送帶有插入符號的字符串。

[RegularExpression(@"^[^\^]+$", ErrorMessage = "Invalid character in User Custom Message.")] 
public string UserCustomMessage { get; set; }