【发布时间】:2014-06-21 10:13:07
【问题描述】:
我在 asp.net 中使用自定义验证器工具来检查文本框是否为空白(我没有使用 requiredfieldvalidator,因为有问题的文本框将偶尔启用)。问题是自定义验证器代码后面的事件根本没有触发。这是源代码:
<asp:TextBox ID="txtS_rentSDate" runat="server" Font-Names="Bookman Old Style"
Font-Size="Medium" Width="326px"
ontextchanged="txtS_rentSDate_TextChanged"
CausesValidation="True"></asp:TextBox>
<asp:CustomValidator ID="cvRentSDate" runat="server"
ControlToValidate="txtS_rentSDate"
ErrorMessage="Please enter the rent start date"
onservervalidate="cvRentSDate_ServerValidate" ValidateEmptyText="True"
Width="180px"></asp:CustomValidator>
后面的代码:
protected void cvRentSDate_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = (args.Value.Length > 0);
}
请让我知道我哪里出错了,正确的方法是什么?
【问题讨论】:
-
页面是否已回传?即其他事件会触发吗?
-
是的,其他事件确实会触发。
-
您的表单除了上述之外还有其他控件吗?您可能使用了必需的验证器或其他在客户端工作的验证器。如果是这种情况,那么您的事件只会在回发发生时触发。
-
@dotnetstep 还有其他必填字段验证器,但是在单击保存按钮时确实会发生回发,但不会触发事件。
标签: c# asp.net customvalidator