C# 自定义验证程序错误

C# 自定义验证程序错误,c#,asp.net,forms,web,C#,Asp.net,Forms,Web,我尝试创建自定义验证器来验证复选框,但出现以下错误: “无法验证“CustomValidator1”的ControlToValidate属性引用的控件“cbVerify”。” 以下是我的前端代码: <li> <asp:CheckBox ID="cbVerify" runat="server" Text="I certify that the information entered on this form is correct and accurate." /> &

我尝试创建自定义验证器来验证复选框,但出现以下错误: “无法验证“CustomValidator1”的ControlToValidate属性引用的控件“cbVerify”。”

以下是我的前端代码:

<li>
  <asp:CheckBox ID="cbVerify" runat="server" Text="I certify that the information entered on this form is correct and accurate."  />
</li>
<li>
  <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Please check" Display="Dynamic" ControlToValidate="cbVerify" OnServerValidate="CustomValidator1_ServerValidate" CssClass="ValidationError"></asp:CustomValidator>
</li>

我可以得到一些帮助来解决这个问题吗?

当与复选框一起使用CustomValidator时,您不需要为CustomValidator设置ControlToValidate属性,只需在服务器验证中使用它,如:

args.IsValid = cbVerify.Checked;

从CustomValidator 1中删除ControlTovalidate值。它不需要出现在复选框中

参考文献

使用ControlToValidate属性指定要验证的输入控件。此属性必须设置为除CustomValidator控件外的所有验证控件的输入控件的ID,CustomValidator控件可以保留为空。如果未指定有效的输入控件,则在呈现页面时将引发异常。ID必须引用与验证控件位于同一容器中的控件。它必须位于同一页或用户控件中,或者必须位于模板控件的同一模板中。 可验证的标准控制包括:

  • System.Web.UI.WebControl.DropDownList
  • System.Web.UI.WebControls.FileUpload
  • System.Web.UI.WebControls.ListBox
  • System.Web.UI.WebControl.Radio按钮列表
  • System.Web.UI.WebControls.TextBox
  • System.Web.UI.HtmlControls.HtmlInputFile
  • System.Web.UI.HtmlControls.HtmlInputPassword
  • System.Web.UI.HtmlControl.HtmlInputText
  • System.Web.UI.HtmlControls.HtmlSelect
  • System.Web.UI.HtmlControls.HtmlTextArea
args.IsValid = cbVerify.Checked;