【发布时间】:2012-10-17 16:50:26
【问题描述】:
我正在尝试使用关键字“OnServerValidate”来使用 CustomValidator
这是我在 .aspx 文件中设置它的地方:
<div class="label">
<div><label for="parentemail1">Email Address</label></div>
<div><asp:TextBox ID="parentemail1" runat="server" MaxLength="40" Columns="40"></asp:TextBox></div>
<asp:CustomValidator id="ParentEmail1Required"
ControlToValidate="parentemail1"
Display="Dynamic"
ErrorMessage="Required"
ValidateEmptyText="true"
OnServerValidate="ServerValidator"
runat="server"/>
</div>
这里是 OnServerValidate 方法的 C# 代码:
protected void ServerValidator(object source, ServerValidateEventArgs args)
{
args.IsValid = false;
}
我是否遗漏了什么,提交表单时不应该触发 CustomValidator 吗?
我已经阅读了一堆帖子,甚至在同一个控件上使用 RequiredFieldValidator 进行了尝试,但没有运气。我有这个使用 ClientValidationFunction 但我想访问后面代码中的属性而不是 DOM。
任何帮助将不胜感激。
【问题讨论】:
-
你的意思是
ServerValidator方法在你回发页面时没有命中? -
实际上,我只是注意到它正在触发,但它并没有阻止页面重定向到下一页。我刚刚注意到后面的表单提交按钮代码在底部有这个: Response.Redirect("NextPage.aspx");无论如何我可以阻止它根据验证器进行重定向吗?
-
我刚刚将您的代码复制并粘贴到一个 Web 应用程序中,它到达了我在
ServerValidator中创建的断点。听起来您的示例代码中未显示其他内容。 -
我认为你是绝对正确的安倍。我现在相信上面的代码是可靠的,但是 Response.Redirect("NextPage.aspx");在表单提交按钮代码后面是覆盖 CustomValidator 的内容。它会进行验证,但在我看到它之前,它会将其推送到下一页。当我注释掉重定向时,我可以看到 CustomValidator 错误消息。
标签: c# textbox code-behind customvalidator