ASP.NET自定义验证器错误信息:属性引用的控件无法进行验证。

17

我使用ASP.NET,有一个按钮和一个CustomValidator,需要验证该按钮。

<asp:Button ID="saveButton" runat="server" OnClick="SaveButton_Click" Text="Speichern"
    CausesValidation="true"/>
<asp:CustomValidator runat="server" ID="saveCValidator" Display="Static"
    OnServerValidate="EditPriceCValidator_ServerValidate"   
    ControlToValidate="saveButton" ErrorMessage="">

加载页面时,我收到以下错误消息:

“Control 'saveButton' referenced by the ControlToValidate property of 'saveCValidator' cannot be validated.”

可能的问题是什么?我在网上搜索了一下,但没有找到有效帮助。

2个回答

29
据我所知,对于CustomValidator控件,ControlToValidate属性应该指向要验证的输入控件或留空。
引用自MSDN
使用ControlToValidate属性来指定要验证的输入控件。除了CustomValidator控件可以留空外,所有验证控件都必须将此属性设置为一个输入控件的ID。如果未指定有效的输入控件,则在呈现页面时会抛出异常。ID必须是在同一容器中的控件的引用。它必须在同一页面或用户控件中,或者它必须在模板控件的相同模板中。
可进行验证的标准控件有:
  • System.Web.UI.WebControls.DropDownList
  • System.Web.UI.WebControls.FileUpload
  • System.Web.UI.WebControls.ListBox
  • System.Web.UI.WebControls.RadioButtonList
  • System.Web.UI.WebControls.TextBox
  • System.Web.UI.HtmlControls.HtmlInputFile
  • System.Web.UI.HtmlControls.HtmlInputPassword
  • System.Web.UI.HtmlControls.HtmlInputText
  • System.Web.UI.HtmlControls.HtmlSelect
  • System.Web.UI.HtmlControls.HtmlTextArea

17
您只能使用CustomValidator来验证接受用户输入的输入控件:

客户端验证通过在将用户输入发送到服务器之前检查用户输入来增强验证过程。

您想要做的是在按钮控件和验证中查找。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接