使用RequiredFieldValidator检查两个文本框中至少有一个文本框内是否有文本?

3

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


可能是重复的问题:asp.net验证文本框 - 至少有一个文本框必须包含数据 - David d C e Freitas
3个回答

7
除了两个文本框之外,还需要添加一个自定义验证控件并调用服务器端验证。
<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
您可以使用CustomValidator的ClientValidationFunction属性和客户端函数进行验证。
<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>

0
首先,如果一个字段不是必需的,你不应该使用 RequiredFieldValidator ,而应该使用 CustomValidator

RequiredFieldValidator - 检查用户是否输入了值。

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

此引用来自 通过Scott Mitchell使用CustomValidator控件

您也可以查看此 根据DropDownList的值动态启用或禁用RequiredFieldValidator ,因为如果您应该使用RequiredFieldValidator,则需要在其中一个TextBox有效时动态禁用其中一个。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接