2011-01-25 5 views
2

나머지 필드는 제대로 작동하지만 사용자 정의 유효성 검사기가 확인란에 대한 유효성 검사 요약의 일부로 작동하지만 기쁨은 얻지 못하도록하는 다음 유효성 검사가 있습니다.Checkbox ValidationSummary가 작동하지 않는 사용자 정의 검사기

이 ... 어떤 아이디어를 내가 순간

<script language="javascript" type="text/javascript"> 
function ValidateTandCs(source, args) 
{ 
    args.IsValid = document.getElementById('<%= optIn.ClientID %>').checked; 
} 
</script> 

<asp:ValidationSummary CssClass="highlight" 
    id="ValidationSummary1" 
    HeaderText="<p>Please amend these errors below to continue with your 
     application.</p>" Runat="server" /> 

<asp:CheckBox id="optIn" runat="server"></asp:CheckBox> I agree to the terms and 
       conditions of this site and I wish to Opt In for registration. 
<asp:CustomValidator ID="valTandCs" ClientValidationFunction="ValidateTandCs" 
    ValidationGroup="ValidationSummary1" runat="server" 
    ErrorMessage="Please accept Terms and Conditions before submitting."> 
</asp:CustomValidator> 

에가하지만 제출을 클릭하면 난 단지이 확인란에 대한 내 다른 필드와 아무것도에 대한 오류 메시지가 표시 무엇인가?

document.getElementById('<%= optIn.ClientID %><%= optIn.ClientID %>').checked; 

변화 그것에 : 나는 사실에 controltovalidate을 추가 할 수 있습니다

<asp:CustomValidator ID="valTandCs" ClientValidationFunction="ValidateTandCs" 
ControlToValidate="optIn" // 
ValidationGroup="ValidationSummary1" runat="server" 

답변

2

당신은 당신의 코드에서이 있었다 확인란이 오류가 발생합니다 'valTandCs'의 ControlToValidate 속성에 의해 참조되는 'optIn'컨트롤을 사용할 수 없습니다. 검증 됨.
+0

:

document.getElementById('<%= optIn.ClientID %>').checked; 

은 또한 CustomValidator에 대한 ControlToValidate 속성을 설정 – StevieB

+0

이 줄이 변경되었습니다. document.getElementById ('<% = optIn.ClientID %>'). checked; 하지만 여전히 유효성 검사 요약에 나타나지 않으며 페이지에 체크 표시가없는 경우에도 유효성이 검사됩니다. 어떤 아이디어? – StevieB

관련 문제