2009-03-13 5 views
1

저는 아약스를 통해로드되는 여러 개의 탭이 있으며 각 탭에는 유효성 검사기 세트가 있습니다. 내가그룹을 통한 클라이언트 측 유효성 검사

가 나는 유효성 검사기에 validationgroup를 설정하고 다음과 같이 특정 그룹을 확인 생각

가 작동 할 탭이 유효한 경우에만 사용자가 탭을 변경할 수 있도록하려면 :

function validatePage(group) { 
    return Page_ClientValidate(group); 
} 

을 그러나, 나는 함수를 호출하고, 항상 참을 리턴한다. 누구든지 내가 뭘 잘못하고 있는지 알 수 있니?

나는이

alert(validatePage("presentaciones")); 

처럼 확인하고 좀 검증 있습니다

// (...) 
<asp:TextBox ValidationGroup="presentaciones" id="txtDescription" runat="server" Text='<%# Eval("Description") %>' MaxLength="50" /> 
<asp:RequiredFieldValidator ID="DescriptionRequiredFieldValidator" runat="server" ControlToValidate="txtDescription" SetFocusOnError="true" ValidationGroup="presentaciones" ErrorMessage="Debe ingresar una descripción" Display="Dynamic" /> 
// (...) 

답변

0

내가 만든 그룹을 Page.Validate(group)와 서버 쪽 일을하지만 난이 할 수있는 클라이언트를 인식하지 않았다 -측면. 각 탭의 상태를 확인하는 사용자 지정 유효성 검사 컨트롤을 구현해야 할 수도 있습니다.

0

내 생각에 유효성 검사 스크립트는 연결되어 있지 않습니다. 함수에서 alert ((typeof (Page_Validators) == "undefined"))를 실행하고 true로 표시되는지 확인합니다. 아약스를 통해 탭을로드한다고하셨습니다. 어딘가에 페이지에 유효성 검사기를 배치하면 유효성 검사 스크립트를 연결하는 데 도움이되는지 확인할 수 있습니다.

다른 것은 Firefox 및 레거시 렌더링 모드입니다. 클라이언트 측은이 시나리오에서는 작동하지 않습니다.

0

이것은 클라이언트 측에서 수행 할 수 있습니다. 이처럼 : 때때로

$('.buttonWithSameValidationGroup').bind('click', function() { 
       if (Page_ClientValidate($(this).attr('validationgroup'))) { 
    //do stuff 
    } 
}); 

이 페이지 Pre_Render 방법에 다음과 같은 서버 측 코드를 추가해야 할 수도 있습니다

button1.AddAttributes("validationgriup","group1");