2012-05-09 2 views
1

텍스트 상자에 3 검사기,오류 발생시 발사를 중지하기 위해 유효성 검사 그룹에서 일련의 유효성 검사기를 중지하는 방법? asp.net

ASP가 있습니다 : RegularExpressionValidator ASP : RangeValidator ASP : CompareValidator

일부 입력은 내가 어떤에 나머지를 발사 중지 할 수있는 방법, 모두 3 트리거 오류?

+0

일부 코드를 표시 할 수 있습니까? 무엇을 시도했는지, 실제 상황은 무엇입니까 –

+0

유효성 검사를 백엔드로 이동했습니다. 이것이 유일한 방법 인 것 같습니다. –

답변

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>