【问题标题】:Using RequiredFieldValidator to check if at least one of the two textboxes has some text inside?使用 RequiredFieldValidator 检查两个文本框中的至少一个是否有一些文本?
【发布时间】:2012-06-28 09:49:27
【问题描述】:

我的asp.net 页面上有两个文本框和一个提交按钮。如何使用单个或多个RequiredFieldValidators 来检查两个文本框中的至少一个在提交按钮单击时是否有一些文本?

【问题讨论】:

标签: asp.net validation requiredfieldvalidator


【解决方案1】:

与两个文本框一起添加一个 CustomValidator 并调用服务器端验证。

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="CustomValidator" OnServerValidate="CustomValidator_ServerValidate"></asp:CustomValidator>
<br />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

服务器端函数

public void CustomValidator_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)
    {
        args.IsValid = true;

        if (TextBox1.Text == "" && TextBox2.Text == "")
        {
            CustomValidator1.ErrorMessage = "Enter value in at least one text Box";
            args.IsValid = false;

        }
    }

希望对你有所帮助。

【讨论】:

    【解决方案2】:

    您还可以将 ClientValidationFunction 属性与 CustomValidator 和客户端函数一起使用

    <asp:TextBox ID="txtBoxId1" runat="server"></asp:TextBox>
    <asp:TextBox ID="txtBoxId2" runat="server"></asp:TextBox>
    <asp:CustomValidator ID="cvId" runat="server" ClientValidationFunction="Validators.DoWork">
    error</asp:CustomValidator>
    
    <script language="javascript">
    var Validators = {
    DoWork: function (source, clientside_arguments) {
    
        var valid_val = true;
    
        //get the controls values using jQuery
        var txtBoxId1= $('input:text[id*=txtBoxId1]').val();
        var txtBoxId2= $('input:text[id*=txtBoxId2]').val();
    
        if (your condition) {
            valid_val = false;
        }
    
        clientside_arguments.IsValid = valid_val;
    }
    }
    </script>
    

    【讨论】:

      【解决方案3】:

      首先,如果某个字段不是必须的,则不应使用RequiredFieldValidator,而是可以使用CustomValidator

      RequiredFieldValidator - 检查以确保用户输入了一个值。

      CustomValidator - 根据自定义检查表单字段的值 您(开发者)提供的验证逻辑。

      此引用来自Using the CustomValidator Control By Scott Mitchell

      您还可以检查此Dynamically enable or disable RequiredFieldValidator based on value of DropDownList,因为如果您应该使用RequiredFieldValidator,如果其中一个TextBox 有效,则需要动态禁用两者之一。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-10
        • 2011-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多