各位先進,想請問自訂驗證控制項的問題:
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,就會驗證成功,但照理說字串裡出現了特殊字元要驗證失敗才對,要怎麼寫才能達到我要自訂不要出現特殊符號的需求呢?
謝謝指教
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