2010-12-12 3 views
2

에서 클라이언트와 서버 유효성 검사기 만 클라이언트 측 유효성 검사보기 다음 뒤에 코드의 경우, 나는 "당신은 값을 입력해야하는 라벨을 설정 는 asp.net

<asp:TextBox id="test" runat="sever"></asp:TextBox> 
<asp:RequiredFieldValidator runat="server" ControlToValidate="test" 
ErrorMessage="Required"></asp:RequiredFieldValidator> 
<asp:Label runat="server" id="lblStatus"></asp:Label> 

서버 측에서 유효성을 검사하기 위해 텍스트 상자가 비어있는 경우 "괜찮습니다. 자바 스크립트가 활성화 된 경우에는 클라이언트 측 유효성 검사와 서버 측 레이블을 함께 표시하고 싶지 않습니다. 이게 내가 자바 스크립트가 활성화 된 경우 클라이언트 측 검사기를 비활성화해야하는 곳입니까?

답변

1

실제로 하나의 유효성 검사기를 사용하여 클라이언트 및 서버 유효성 검사를 수행 할 수 있습니다. ASP.Net은 클라이언트로부터 만 도움을 받거나 클라이언트와 서버를 해방할지 여부를 결정합니다. 클라이언트 유효성 검사에만 의존해서는 안되지만 서버 유효성 검사가 조용 할 수 있습니다. 즉, 사용자에게 두 가지 오류 메시지가 다시 표시 될 필요가 없습니다.

따라서 자신의 상태 라벨이 필요하지 않으므로 페이지에서 해고 된 이벤트 핸들러에 체크를 추가해야합니다.

protected void btnSubmit_Click(object sender, EventArgs e) 
{ 
    if(!Page.IsValid) 
    { 
     return; 
    } 
} 
1

예. :)

글쎄, 나는 당신의 질문을 이해하고 있는지 모르겠다. 당신이 스스로 대답 한 것 같기 때문이다. 이 RequiredFieldValidator에 대한 클라이언트 측 유효성 검사를 비활성화하여 원하는 것을 얻을 수 없습니까?

<asp:RequiredFieldValidator runat="server" ControlToValidate="test" 
    ErrorMessage="Required" EnableClientScript="False"/> 
0

나는 질문이 있지만, 자바 스크립트 코드에서 유효성 검사를 수행하고 포스트 백을 피할 수 있습니다.

var doSomething = function(sender, args){ 
if(Page_IsValid){ 
    //Do something cool 
    return true; 
}else{ 
    return false; 
} 
} 
내가 직장에서 오늘 몇 가지 유사한 문제에 직면했다

, 깊이는

ASP.NET Valildation 매우 유용합니다, 다음 링크를 참조하시기 바랍니다 http://msdn.microsoft.com/en-us/library/aa479045.aspx