2012-05-03 2 views
0

라디오 버튼 목록, 텍스트 상자 및 requiredfieldvalidator 컨트롤이있는 리피터가 있습니다.리피터 내부의 조건부 RequiredFieldValidator

Meets (Value M) 
Above (Value A) 
Below (Value B) 
N/A (Value(N/A) 

텍스트 박스는 입력에 사용자에게 자신의 답변에 대한 약간의 정당화를 허용하도록 설정하고,의 RequiredFieldValidator는 텍스트 상자가 충분히 간단 비어 있지 않은지 확인합니다 다음 Radiobuttonlist는 다음을 보유하고 있습니다. 그러나 범위가 조금 변경되었으므로 클라이언트는 응답이 "M"이 아닌 경우에만 requiredfieldvalidator가 시작되도록합니다.

저는 유효성 검사기에 Load 메서드를 설정하려고했지만 유효성 검사기를로드 할 때 사용자가 응답하기 전에 RBL에서 응답이 무엇인지 알 수 없습니다. 리피터가 Modal 팝업 내에서 처리되기 때문에 나는 포스트 백을 할 수 없다고 생각하고, 포스트 백을하면 무슨 일이 일어날 지 잘 모르겠습니다. 사용자가 "Meets"이 아닌 다른 것을 선택하는 경우에만 유효성 검사기를 false로 설정할 수 있습니까?

+0

이 (아마도 일자) 블로그 게시물이 제출 한 검증 요구 조건 클라이언트 측의 유사한 문제를 해결 것 같다 : http://www.aspdotnetfaq.com/Faq/How-to-control-ASP-NET-Validator-Controls-Client-Side-validation-from-JavaScript.aspx – jbl

답변

1

이 시도 :

자바 스크립트 :

<script type="text/javascript"> 
    function UpdateValidator(radioID, validatorid) { 
     //enabling the validator only if the checkbox is checked 
     var enableValidator = $("#" + radioID).is(":checked");   
     ValidatorEnable(validatorid, enableValidator); 
    } 
</script> 

CS 코드 :

protected void myRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
     { 
      RadioButton rd = e.Item.FindControl("myRb") as RadioButton; 
      RequiredFieldValidator rfv = e.Item.FindControl("myRfv") as RequiredFieldValidator; 
      // you can just pass "this" instead of "myDiv.ClientID" and get the ID from the DOM element 
      rd.Attributes.Add("onclick", "UpdateValidator('" + rd.ClientID + "','" + rfv.ClientID + "');"); 
     } 
    } 
+0

enableMevukashValidator 란 무엇입니까? –

+0

실수 였어, 고쳤어. –

관련 문제