Using RequiredFieldValidator to check if at least one of the two textboxes has some text inside?

青春壹個敷衍的年華 提交于 2019-12-12 18:06:48

问题


I have two textboxes on my asp.net page and a submit button. How can I use a single or more RequiredFieldValidators to check if at least one of the two textboxes has some text inside on submit button click?


回答1:


Along with two text boxes add a CustomValidator and call server side validation.

<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" />

Server side function

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;

        }
    }

Hope this helps you.




回答2:


You can also use ClientValidationFunction attribute with CustomValidator and client side function

<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:


First of all, if a field is not certainly required you shouldn't use a RequiredFieldValidator instead you can use a CustomValidator.

RequiredFieldValidator - Checks to make sure the user entered a value.

CustomValidator - Checks the form field's value against custom validation logic that you, the developer, provide.

This quote is from Using the CustomValidator Control By Scott Mitchell.

You can also check this Dynamically enable or disable RequiredFieldValidator based on value of DropDownList because if you are supposed to use a RequiredFieldValidator you will need to disable one of the two dynamically if one of the TextBox is valid.



来源:https://stackoverflow.com/questions/11242042/using-requiredfieldvalidator-to-check-if-at-least-one-of-the-two-textboxes-has-s

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!