2009-10-29 3 views
1

ASP.Net Validator를 비활성화하여 해당 게시판에서 비활성화되도록하려고합니다.ASP.NEt 유효성 검사기를 비활성화하여 해당 게시판에서 비활성화 됨

는 내 페이지가 여전히 유효,

$('.c_MyValidator').each(function() { 
    ValidatorEnable(document.getElementById($(this).attr('id')), false); 
}); 

하지만 때 페이지 포스트 백을 사용하여 클라이언트 측에서 유효성 검사기를 사용하지 않도록하고있다. 나는 UserControl (.ascx)에 있으므로 Validate()에 대한 재정의가 필요하지 않습니다.

페이지 유효성 검사기를 사용하지 않도록 설정하려면 어떻게해야합니까?

아이디어가 있으십니까?

+1

일반적으로 유효성 검사는 포스트 백에서 수행 할 작업입니다. 허풍을 좀 더 설명해 주시겠습니까? –

+0

예 .. 물론 전체 시나리오의 비슷한 작은 버전이 있습니다. 날짜를 입력하거나 표시하지 않을 날짜 텍스트 상자를 표시하거나 숨기는 "날짜 사용/사용 안 함"확인란을 클릭합니다. 그래서 그 날짜 텍스트 상자에 필수 필드 유효성 검사기가 있습니다. 따라서 checbox가 체크되지 않으면 밸리데이터가 작동해야합니다. – LibraRocks

답변

2

시나리오 here에 대한 예제가 있습니다. 기본적으로 서버 측 코드에서 유효성 검사기의 enabled 속성을 확인란의 checked 속성으로 설정하고 클라이언트 ValidatorEnable을 호출합니다. Validate 메서드가 없으므로 사용자 정의 컨트롤의 Page_Load 이벤트를 사용하십시오.

public partial class CheckboxAndValidator : System.Web.UI.UserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     validator.Enabled = cbControlValidation.Checked; 
    } 
} 

은 당신이 할 수없는 것은 Page_Load 이벤트에 페이지을 확인합니다. 이것은 너무 일찍 일어나고 사용자 정의 컨트롤이 완료되면 나중에 페이지 라이프 사이클에서 수행해야합니다.

관련 문제