iT邦幫忙

0

ASP.NET CustomValidator

  • 分享至 

  • xImage

各位先進,想請問自訂驗證控制項的問題:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
string chkOutMember = args.Value.ToString();
string pattern = "[^'\"*]"; // 規則字串
Regex regex = new Regex(pattern); // 宣告 Regex
Match match = regex.Match(chkOutMember); // 比對
if (match.Success)
{
args.IsValid = false;
Literal1.Text = "驗證成功";
}
else
{
args.IsValid = true;
Literal1.Text = "驗證失敗";
}
}
上面的例子,我想驗證字串裡不要包含 ' " * 的特殊字元,在測試時,我在textbox裡若只輸入:' " *其中任一字元,或混合'*,會出現驗證失敗
但如果字串裡再加上別的字元例如:'*ab'c,就會驗證成功,但照理說字串裡出現了特殊字元要驗證失敗才對,要怎麼寫才能達到我要自訂不要出現特殊符號的需求呢?
謝謝指教

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

4
最佳解答

Regex regex = new Regex(pattern); // 宣告 Regex
Match match = regex.Match(chkOutMember); // 比對
if (match.Success)

我以為 match.Success 是個集合, 應該用 While 來判斷...

請參考 MSDN Regex.Match 方法 (String)
http://msdn.microsoft.com/zh-tw/library/twcw2f1c.aspx

我要發表回答

立即登入回答