ASP.NET自定义验证程序错误消息:无法验证属性引用的控件

时间:2010-04-14 13:29:34

标签: asp.net customvalidator

我使用ASP.NET并拥有一个Button和一个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="">

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

  

“控制'saveButton'引用   的ControlToValidate属性   'saveCValidator'无法验证。“

可能是什么问题?我在网上搜索,但这没有多大帮助。

2 个答案:

答案 0 :(得分:28)

AFAIK,ControlToValidate属性应指向输入控件,或留空CustomValidator控件。

来自MSDN的参考:

  

使用ControlToValidate属性   指定要验证的输入控件。   必须将此属性设置为ID   所有验证的输入控件   除CustomValidator以外的控件   控制,可以留空。如果   您没有指定有效的输入   控制,将抛出异常   何时呈现页面。 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
  •   

答案 1 :(得分:13)

您只能使用CustomValidator against Input controls that accept user input

  

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

您想要做的是查看Button Controls and Validation.