Home » .NET 4.0 » ASP.NET Validator – validate one of the two values

ASP.NET Validator – validate one of the two values

Validate one of the two textbox values

Markup page

Please enter on of at least one contact point:
<asp:CustomValidator ID="ContactInfoAlert" runat="server" 
ErrorMessage="CustomValidator" OnServerValidate="CustomValidator_ServerValidate">
</asp:CustomValidator>

User email: 
<asp:TextBox ID="EmailTbx" runat="server" ToolTip="Enter email." >
</asp:TextBox>
User phone: 
<asp:TextBox ID="PhoneTbx" runat="server" ToolTip="Enter phone number." >
</asp:TextBox>
<asp:Button ID="Btn1" runat="server" Text="Next" CausesValidation="true"/>

Code-behind page

Protected Sub Btn1_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
                         Handles Btn1.Click
Dim usrEmail As TextBox = Btn1.FindControl("EmailTbx")   'user email
Dim usrPhone As TextBox = Btn1.FindControl("PhoneTbx")   'user phone
'validate contact info - at least one required
  If usrEmailTbx.Text = "" AndAlso usrPhoneTbx.Text = "" Then
     ContactInfoAlert.ErrorMessage = "Enter email or phone!"
  Else
    'your code whatever it might be
  End If
End Sub
Public Sub CustomValidator_ServerValidate(ByVal source As Object, 
       ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs)
        args.IsValid = True

  If memEmailTbx.Text = "" AndAlso memPhoneTbx.Text = "" Then
      ContactInfoAlert.ErrorMessage = "Enter email or phone!"

      args.IsValid = False
  End If
End Sub

Result

Enter email or phone!
User email:
User phone: