2014-07-16 6 views
-1

모달 대화 상자에 내 ValidationSummary가 표시됩니다. 그것은 잘 작동합니다.모달 대화 상자에 CustomValidator 표시

그러나 내 코드 숨김은 일부 데이터베이스 조회를 수행하고 CustomValidator가있는 메시지를 내 ValidationSummary에 추가합니다.

대화 상자에 내 ValidationSummary가 표시되기 전에 제대로 작동했습니다. 그러나 이제 CustomValidator가 유효하지 않은 경우 ValidationSummary 대화 상자에 표시되지 않습니다.

다른 필드가 유효하지 않을 때 대화 상자가 나타나지만 코드 숨김의 CustomValidator 메시지에는 유효하지 않습니다. 페이지가 유효하지 않은 경우 다음

대화 상자를 표시하는 코드입니다 :

<script type="text/javascript"> 
    function WebForm_OnSubmit() { 
     if (typeof (ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) { 
      $("#modal_validationSummary").modal('show'); 
      return false; 
     } 
     return true; 
    } 
</script> 

검증 요약 코드 :

<div class="modal modal-danger" id="modal_validationSummary" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content">     
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
       <h4 class="modal-title">Invalid Login</h4> 
      </div> 
      <div class="modal-body clearfix"> 

       <asp:ValidationSummary ID="LoginValidationSummary" runat="server" 
       ValidationGroup="LoginGroup" HeaderText="<div class='validationheader'>Please address the issues below</div>" 
       CssClass="validationsummary" DisplayMode="BulletList"/> 

      </div> 
      <div class="modal-footer">      
       <button type="button" class="btn btn-default btn-clean" data-dismiss="modal">Close</button> 
      </div> 
     </div> 
    </div> 
</div> 

내 코드 뒤에 직접 CustomValidator 추가 :

CustomValidator cv = new CustomValidator(); 
cv.IsValid = false; 
cv.ErrorMessage = "Login not found. Please try again."; 
cv.ValidationGroup = "LoginGroup"; 
this.Page.Validators.Add(cv); 

도움 주셔서 감사합니다.

답변

0

이벤트 순서는 다음과 같습니다. 유효성 검사기가 추가되고 페이지가 렌더링되며 유효성 검사 요약에 오류가 표시되지 않습니까?

유효성 검사 요약은 언제 표시됩니까? 처음 포스트 백이되기 전에 유효성 검사 메시지가 나타나면 유효성 검사가 게시를 막을 수 없으며 유효성 검사는 다시 게시 할 때까지 이루어지지 않습니다.

Controls 컬렉션에 추가되지 않은 에도 문제가있을 수 있지만 확실하지 않습니다.

ETA : 약간의 연구가 팝업 ValidationSummary 팝업 창이 클라이언트 측과 함께 작동한다는 내 믿음을 강화했습니다. 귀하의 서버 쪽입니다. 여전히 서버에서 작업을 수행하는 동안 클라이언트 측 유효성 검사기로 CustomValidator 기능을 할 수 있습니다,하지만 당신은 필요 :

  1. 클라이언트 측 유효성 검사 함수를 정의;
  2. 해당 클라이언트 측 함수 내에서 AJAX 호출을 수행하십시오.
  3. 마크 업에 CustomValidator을 선언하십시오. (당신은 여전히 ​​동적으로 추가 할 수 있지만, 초기 렌더링에가있을 것입니다, 당신은 Controls 컬렉션에 추가해야 할 것입니다.)

어쨌든, 그것의 매우 압축 된 버전의 그.

+0

도움을 주셔서 감사합니다. 나는 정보가 매우 도움이되도록이 새로운 것을. – Cineno28

관련 문제