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

发布于 2024-08-28 19:43:11 字数 563 浏览 1 评论 0原文

我使用 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”。”

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

I use ASP.NET and have a Button and a CustomValidator, which has to validate
the button.

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

When loading the page, I receive the error message:

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

What might be the problem? I searched on the net, but this didn´t help much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

对不⑦ 2024-09-04 19:43:11

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

来自 MSDN 的参考:

使用ControlToValidate属性来
指定要验证的输入控件。
该属性必须设置为 ID
用于所有验证的输入控件
CustomValidator 之外的控件
控制,可以留空。如果
您没有指定有效的输入
控制,会抛出异常
当页面呈现时。身份证件必须
引用同一控件内的控件
容器作为验证控件。
必须在同一页面或用户中
控制,或者必须在同一个
模板化控件的模板。

可以的标准控件
已验证的有:

  • 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

AFAIK, ControlToValidate property should point to input control or left blank for the CustomValidator control.

A reference from MSDN:

Use the ControlToValidate property to
specify the input control to validate.
This property must be set to the ID of
an input control for all validation
controls except the CustomValidator
control, which can be left blank. If
you do not specify a valid input
control, an exception will be thrown
when the page is rendered. The ID must
refer to a control within the same
container as the validation control.
It must be in the same page or user
control, or it must be in the same
template of a templated control.

The standard controls that can be
validated are:

  • 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
尛丟丟 2024-09-04 19:43:11

您只能对接受的输入控件使用 CustomValidator用户输入

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

您要做的就是查看此处 按钮控制和验证。

You can only use a CustomValidator against Input controls that accept user input:

Client-side validation enhances the
validation process by checking user
input before it is sent to the server.

What you want to do is look here at Button Controls and Validation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文