[問題] CustomValidator
請問一下如果要在textbox裡面判斷輸入是不是6至
12個字元的小寫英文字母、數字組合
如果使用CustomValidator
目前大概是寫到這樣
欲申請之帳號:<asp:TextBox ID="TextBox1" runat="server"
Width="138px"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1"
ControlToValidate="TextBox1" runat="server" OnServerValidate="CheckAccount"
ErrorMessage="帳號格式不正確" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator12"
runat="server" ControlToValidate="TextBox1" ErrorMessage="帳號不可空白
"></asp:RequiredFieldValidator><br />
<br />
public void CheckAccount(object obj,ServerValidateEventArgs e)
{
int count = 3;
int count1 = 0;
String name;
name = (string)Convert.ChangeType(TextBox1.Text, typeof(string));
int i = 1, j = 1;
while (i <= name.Length)
{
if (Regex.Match(name.Substring(0, i), "\\W").Success)
{
count = 3;
break;
}
else
count = 0;
i++;
}
while (j <= name.Length)
{
if (Regex.Match(name.Substring(0, j), "\\d").Success)
{
count1 = 3;
}
else
count1 = 0;
j++;
}
if (name.Length >= 6 && name.Length <= 12)
{
if (count == 0 && count1==3)
e.IsValid = true;
else
e.IsValid = false;
}
else
e.IsValid = false;
}
不過目前只有輸入空白的時候會顯示錯誤訊息
如果有輸入數字的話,他好像不會顯示
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.203
推
01/12 03:11, , 1F
01/12 03:11, 1F