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 の型を文字列として返すと思います。代わりに値を使用してみてください

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 に答える