使用CustomValidator和一个惟一函数验证一系列asp.net文本框

本文关键字:asp 验证 一系列 net 文本 函数 一个 CustomValidator 使用 | 更新日期: 2023-09-27 18:15:52

我有一组几个ASP。. NET文本框,每个TB都有相应的CustomValidator和服务器端函数。是否有可能使用一个独特的功能来验证和更改所有文本框的背景颜色?

         <asp:UpdatePanel ID="updPanel1" UpdateMode="Conditional" runat="server">
            <ContentTemplate>
                    <asp:TextBox ID="requestLast" MaxLength="64" runat="server" />
                    <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="" ControlToValidate="requestLast" OnServerValidate="CustomValidator1_ServerValidate" ValidateEmptyText="True" ValidationGroup="ValGroup" ></asp:CustomValidator>
                    <asp:TextBox ID="requestFirst" MaxLength="64" runat="server" />
                    <asp:CustomValidator ID="CustomValidator2" runat="server" ErrorMessage="" ControlToValidate="requestFirst" OnServerValidate="CustomValidator1_ServerValidate"  ValidateEmptyText="True" ValidationGroup="ValGroup"></asp:CustomValidator>
                    <asp:Button ID="submitRequest" runat="server" OnClick="submitRequest_Click" Text="Submit" ValidationGroup="ValGroup" />
            </ContentTemplate>
        </asp:UpdatePanel>

    protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {
        //The code for validation goes here

}

使用CustomValidator和一个惟一函数验证一系列asp.net文本框

我弄清楚了如何引用控件,以便检查值和更改背景颜色!

    protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {
        CustomValidator obj2val = (CustomValidator) source;
        TextBox ctrl = (TextBox)FindControl(obj2val.ControlToValidate);
        bool is_valid = args.Value != "";
        ctrl.BackColor = is_valid ? System.Drawing.Color.White : System.Drawing.Color.Red;
        updPanel1.Update();
        args.IsValid = is_valid;
    } 

检查控件是否为空,如果为真,则将背景颜色更改为红色。