2010-08-06 2 views
2

asp.net의 유효성을 검사 한 후 이미지 또는 텍스트를 "통과"나는 다음 asp.net 코드가 있습니다쇼 (. REQ 필드) 검증

<asp:TextBox CssClass="mf" runat="server" ID="mail1" Width="270" /> 
<asp:RequiredFieldValidator ID="rfv1" 
          runat="server" 
          ControlToValidate="mail1" 
          Display="Dynamic" /> 

지금 나는 이미지 (또는 텍스트)를 표시 할 경우를 (재발행 없음)

jQuery 솔루션도 괜찮습니다.하지만 JavaScript가 비활성화되어 있으면 jQuery 솔루션도 안전하지 않습니다.

+0

자바 스크립트가 비활성화 된 상태에서 클라이언트 측 효과를 사용할 수 없습니다. – citronas

+0

하지만 자바 스크립트를 사용할 수 있고 asp.net 검사기로 어떻게 만들 수 있습니까? 또는 가능한 또는 순수한 자바 스크립트 솔루션을 권장하지 않습니다? –

답변

2

외부 프레임 워크를 사용하지 않고 ASP.Net 클라이언트 측 유효성 검사 프레임 워크를 활용하여 확장/고급 기능을 처리 할 수 ​​있습니다. 이 방법으로 프레임 워크를 사용하여 프레임 워크를 대체하는 대신 프레임 워크를 보완합니다.

원하는 동작을 사용하려면 자바 스크립트 만 있으면됩니다. ClientIDMode 당신이 닷넷 (4)를 사용하지 않는 경우 다음 표준 <%= rfv1.ClientID %> 서버 측을 사용해야합니다 = "정적"는에서 얻을 포함하여 내가 ASP.Net 4의 기능을 사용하고 있음을 여기

<asp:TextBox CssClass="mf" runat="server" ID="mail1" Width="270" OnChange="showValidationImage();" /> 
<asp:RequiredFieldValidator ID="rfv1" 
         runat="server" 
         ControlToValidate="mail1" ClientIDMode="Static" 
         Display="Dynamic" > 
    <img src="../Image/fail.jpg" /> 
</asp:RequiredFieldValidator> 
<img id="imgPass" src="../Image/pass.jpg" style="visibility:hidden" /> 
<script language="javascript"> 
    // This function will be called whenever the textbox changes 
    // and effectively hide or show the image based on the state of 
    // the client side validation. 
    function showValidationImage() { 
     if (typeof (Page_Validators) == "undefined") return; 

     // isvalid is a property that is part of the ASP.Net 
     // client side validation framework 
     imgPass.style.visibility = rfv1.isvalid ? "visible" : "hidden"; 
    } 
</script> 
<br /> 
<asp:Button ID="btnSubmit" runat="server" Text="Submit" /> 

공지 사항 스크립트 내의 클라이언트 ID.

+0

여보세요 조쉬, 디스플레이 동적 속성에 대해 알고 있지만 유효성 검사 규칙을 통과하기위한 '통과 된'이미지를 표시 할 수 없습니다 –

+0

그 사람에 대해 미안 해요 ... 내가 내 대답을 썼을 때 나는 피곤했을 것이다 :) 어쨌든 나는 당신이 실제로 요구했던 것을 반영하기 위해 답을 업데이트했습니다. – Josh

+0

고마워요 조쉬, 한번보세요! :) –