我在一个类项目(DLL)中创建了一个自定义控件,并在我拥有标准 ASP.net 所需字段验证器控件的页面中使用它,以确保用户填写自定义控件的某些属性。
出于某种原因,验证仅在回发之后发生。我需要在回发之前在客户端进行验证,即以与 ASP.net 验证器控件验证标准文本框的方式类似的方式。
请帮忙。
我在一个类项目(DLL)中创建了一个自定义控件,并在我拥有标准 ASP.net 所需字段验证器控件的页面中使用它,以确保用户填写自定义控件的某些属性。
出于某种原因,验证仅在回发之后发生。我需要在回发之前在客户端进行验证,即以与 ASP.net 验证器控件验证标准文本框的方式类似的方式。
请帮忙。
您可以使用 CustomValidator 的 ClientValidationFunction 属性。
<asp:CustomValidator id="CustomValidator1"
ControlToValidate="Text1"
ClientValidationFunction="ClientValidate"
OnServerValidate="ServerValidation"
Display="Static"
ErrorMessage="Not an even number!"
runat="server"/>
<script language="javascript">
function ClientValidate(source, arguments)
{
if (arguments.Value % 2 == 0 ){
arguments.IsValid = true;
} else {
arguments.IsValid = false;
}
}
</script>
我猜你可能想要对某些事件(如 Button 等)进行验证。然后检查,你是否使 Button 的 CausesValidation 属性为真。例如
<asp:Button ID="Submit" runat="server" Text="Submit" CausesValidation="True" ClientIDMode="Static"/>
您需要将 ValidationProperty 属性应用于您的用户控件,其值指向将由验证控件验证的属性的名称
检查此链接http://www.matthewedmondson.info/2010/01/validation-for-custom-user-controls.html