If you are using WebForms I would go with a custom validator in this case for each textbox (you could do with just one though):
<asp:CustomValidator id="cvalTextBox1" runat="server" Display="*"
ErrorMessage="Required: TextBox1"
ClientValidationFunction="ValidateRequiredTextBox1" ValidateEmptyText="true"
ControlToValidate="txtTextBox1"></asp:CustomValidator>
Then implement your javascript (using jQuery):
<script>
function ValidateRequiredTextBox1(source, arguments)
{
if ((jQuery.trim($("#<%= txtTextBox1.ClientID %>").val()) == "") &&
((jQuery.trim($("#<%= txtTextBox2.ClientID %>").val()) != "") ||
(jQuery.trim($("#<%= txtTextBox3.ClientID %>").val()) != "")))
{
arguments.IsValid = false;
}
else
{
arguments.IsValid = true;
}
}
</script>
So this will work for 1 textbox (assuming you want 1 validator for each box to display a * or something). You will need 3 functions total to implement all 3 textboxes or you could just use one validator for all with minor tweaks to the above javascript.