ASP.NET CustomValidator不工作
我有问题: 我的页面上有一个自定义验证器,用于验证imieTextbox控件。但它不起作用。我不知道为什么 此方法来自register.aspx.cs文件:ASP.NET CustomValidator不工作,asp.net,validation,customvalidator,Asp.net,Validation,Customvalidator,我有问题: 我的页面上有一个自定义验证器,用于验证imieTextbox控件。但它不起作用。我不知道为什么 此方法来自register.aspx.cs文件: protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) { //of course here will be other validation logic but setting IsValid prope
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
//of course here will be other validation logic but setting IsValid property ti false is for example
args.IsValid = false;
}
这来自register.aspx文件:
<asp:CustomValidator ID="CustomValidator1" runat="server"
ControlToValidate="imieTextbox" Display="Dynamic"
ErrorMessage="CustomValidator"
onservervalidate="CustomValidator1_ServerValidate" ValidateEmptyText="True"
ValidationGroup="A"></asp:CustomValidator>
页面上的Submit按钮的属性CausesValidation设置为TRUE,并且具有验证组A(与我页面上的所有验证程序一样)。
所有验证器(requiredfield验证器)都可以正常工作,但定制验证器不能。为什么呢?我做错什么了?你必须打电话给我
if (Page.IsValid)
在服务器上回发时,否则将不会调用服务器验证。
RequiredFieldValidator在客户机上进行验证,这就是此验证程序工作的原因。但是,您也应该始终在服务器上进行验证
对于客户端验证,您必须编写一个JavaScript方法来执行同样的操作。在CustomValidator中设置属性:
ClientValidationFunction="YourValidationMethod"
这个方法是这样做的
function YourValidationMethod(source, args)
{
if (valid) // do check here
args.IsValid = true;
else
args.IsValid = false;
}
工作谢谢还有一个问题?如何在客户端执行相同的验证(使用相同的自定义验证器)?不幸的是,您不能使用与编写JavaScript在客户端进行验证相同的方法。