Флажок Custom Validator с ValidationSummary не работает - PullRequest
2 голосов
/ 25 января 2011

У меня есть следующая проверка, которая отлично работает для остальных моих полей, но я пытаюсь заставить собственный валидатор работать как часть сводки проверки для флажка, но без радости.

Это то, что у меня есть на данный момент

<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>

Но когда я нажимаю "Отправить", я вижу только сообщения об ошибках для других моих полей и ничего для этого флажка ... какие-либо идеи?

1 Ответ

2 голосов
/ 25 января 2011

У вас было это в вашем коде:

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

изменить на:

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

Также установите ControlToValidate свойство для CustomValidator:

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