2012-04-17 2 views
0

I가 2가 OnPasswordValidation 기능
입니다하지만 암호를 입력 할 때 다음 SetIsValid (false)를 탭 버튼 txt_password 제어에
을 클릭 JS 파일에서 ASPxTextBox, ASPxValidationSummary 및 ASPxButton
작동하지 않지만 작동 txt_ConfirmPassword
ASP.NET 암호 및 확인

왜?

<dx:ASPxTextBox ID="txt_password" runat="server" Password="true" AssociatedControlID="txt_password"> 
    <ClientSideEvents Validation="OnPasswordValidation" /> 
</dx:ASPxTextBox> 

<dx:ASPxTextBox ID="txt_ConfirmPassword" runat="server" Password="true" AssociatedControlID="txt_ConfirmPassword"> 
    <ClientSideEvents Validation="OnPasswordValidation" /> 
</dx:ASPxTextBox> 

<dx:ASPxButton ID="btnSubmit" runat="server" Text="Submit" ClientInstanceName="btnSubmit" onclick="btnSubmit_Click" AutoPostBack="False"> 
<ClientSideEvents Click="function(s, e) {onClickBtnSubmit();}"/> 
</dx:ASPxButton> 

function OnPasswordValidation(s, e) { 
    var objpassword = GetObj('txt_password'); 
    var objConfirmPassword = GetObj('txt_ConfirmPassword'); 
    var password = aspxGetControlCollection().Get(objpassword.id); 
    var ConfirmPassword = aspxGetControlCollection().Get(objConfirmPassword.id); 

    if (password.GetValue() == null) { 
     password.SetIsValid(false); 
     ConfirmPassword.SetIsValid(false); 
     return; 
    } 
    if (ConfirmPassword.GetValue() == null) { 
     password.SetIsValid(false); 
     ConfirmPassword.SetIsValid(false); 
     return; 
    } 
    if (password.GetValue().length > 5 || ConfirmPassword.GetValue().length > 5) { 
     if (password.GetValue() == ConfirmPassword.GetValue()) { 
      password.SetIsValid(true); 
      ConfirmPassword.SetIsValid(true); 
     } 
     else { 
      password.SetIsValid(false); 
      ConfirmPassword.SetIsValid(false); 
      password.SetErrorText = "Password must equal with Confirm Password"; 
      ConfirmPassword.SetErrorText = "Password must equal with Confirm Password"; 
     } 
    } 
    else { 
     ConfirmPassword.SetIsValid(false); 
     password.SetIsValid(false); 
    } 
} 

답변

0

유효성 검사를 구현하는 적절한 방법이 아닙니다. 이렇게하면 OnPasswordValidation 함수가 두 번, 모든 텍스트 상자에 대해 한 번 실행됩니다. http://www.devexpress.com/Support/Center/p/Q233058.aspx

I 조언 당신은 DevExpress의이 devex 컨트롤에 유효성 검사를 구현하는 방법을 이해하기 위해 validation overview를 제어 읽기 :
다음은 무엇을해야한다 샘플 프로젝트가있는 티켓이다.

+0

감사합니다 .. –