<script language="javascript">
function Validate(sender, args){
args.IsValid = false;
if(args.Value != "")
{
args.IsValid = true;
}}</script>
вышеупомянутая функция не проверяет, что по крайней мере одно текстовое поле содержит данные, она проверяет, что элемент управления, связанный с валидатором, имеет данные Просто используйте один пользовательский валидатор, подобный этому
<asp:TextBox ID="txtHomePhone" runat="server"></asp:TextBox>
<asp:TextBox ID="txtWorkPhone" runat="server"></asp:TextBox>
<asp:TextBox ID="txtMobilePhone" runat="server"></asp:TextBox>
<asp:CustomValidator ID="cvMobilePhone" runat="server" ErrorMessage="ADASDASDA" ClientValidationFunction="Validate"
ValidateEmptyText="true"></asp:CustomValidator>
<script language="JavaScript">
function Validate(sender, args) {
var txt1 = document.getElementById("<%= txtHomePhone.ClientID %>");
var txt2 = document.getElementById("<%= txtWorkPhone.ClientID%>");
var txt3 = document.getElementById("<%= txtMobilePhone.ClientID%>");
args.IsValid = (txt1.value != "") || (txt2.value != "") || (txt3.value != "");
}
</script>
Если вы хотите повторно использовать функцию, вы можете добавить атрибуты к вашему объекту проверки.
Проверьте это: http://alejandrobog.wordpress.com/2009/09/27/pass-your-own-arguments-to-the-clientvalidationfunction-in-a-customvalidator/