1

我对我的网站的名称字段进行了自定义验证。在后面的代码中是它的代码,但它不起作用。它不会像其他验证器那样给出错误。这是我的代码。

<asp:CustomValidator ID="CustomValidatorVoorNaam" runat="server" ControlToValidate="voornaamTextBox" onServerValidate="naamValidator" Display="Dynamic" ErrorMessage="Gebruik enkel het alfabet" ValidationGroup="AllValidators">Enkel A-Z</asp:CustomValidator>

protected void naamValidator(object sender, ServerValidateEventArgs e)
{
    bool check = true;
    for (int i = 0; i > e.ToString().Length; i++)
    {
        if (!(char.IsLetter(e.ToString()[i])))
        {
            check = false;
        }
    }
    e.IsValid = check;
}

据我所知,这是正确的代码。

更新

当我输入它而将其留空时显示错误

4

1 回答 1

0

我猜 e.toString() 会将 e 的类型作为字符串返回,尝试使用 value 代替

protected void naamValidator(object sender, ServerValidateEventArgs e)
    {
        bool check = true;
        for (int i = 0; i > e.Value.Length; i++) 
        {
            if (!(char.IsLetter(e.ToString()[i])))
            {
                check = false;
                break;
            }
        }
        e.IsValid = check;

    }
于 2013-10-18T19:31:25.683 回答