2012-05-09 27 views

回答

0

可能是這可以幫助你......你可以攔截ASP.Net驗證框架的ValidatorValidate方法,並根據任何給定的驗證控制結果選擇性地禁用驗證器控件。

<asp:TextBox ID="tbText" runat="server"></asp:TextBox> 

<asp:RegularExpressionValidator EnableClientScript="true" ValidationExpression="\d" ID="rang" runat="server" ControlToValidate="tbText" >sdfsdfsdfsdfsdfsd</asp:RegularExpressionValidator> 
<asp:RangeValidator EnableClientScript="true" Type="Date" MinimumValue="10/10/2000" MaximumValue="10/10/2013" runat="server" ID="rang2" ControlToValidate="tbText" >23444444444444</asp:RangeValidator> 
<asp:Button ID="btn" runat="server" Text="submit"/> 



<script language="javascript"> 
    var oldValidatorValidate = ValidatorValidate; 
    function MyValidatorValidate(val, validationGroup, event) { 



     //first call the original one 
     oldValidatorValidate(val, validationGroup, event); 

     //Here you can check val.isvalid - e.g write your logic here, like check for the correct validator etc etc 
     //alert(val.id + ":" + val.isvalid); 
     if (!val.isvalid) { 
      var myVal = document.getElementById('<%=rang2.ClientID %>'); 
      //ValidatorEnable(myVal, false); 
     } 





    } 
    ValidatorValidate = MyValidatorValidate; 
</script>