1

我在一个类项目(DLL)中创建了一个自定义控件,并在我拥有标准 ASP.net 所需字段验证器控件的页面中使用它,以确保用户填写自定义控件的某些属性。

出于某种原因,验证仅在回发之后发生。我需要在回发之前在客户端进行验证,即以与 ASP.net 验证器控件验证标准文本框的方式类似的方式。

请帮忙。

4

3 回答 3

2

您可以使用 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>
于 2013-08-21T10:59:14.440 回答
1

我猜你可能想要对某些事件(如 Button 等)进行验证。然后检查,你是否使 Button 的 CausesValidation 属性为真。例如

<asp:Button ID="Submit" runat="server" Text="Submit" CausesValidation="True" ClientIDMode="Static"/>
于 2013-08-21T11:26:34.113 回答
0

您需要将 ValidationProperty 属性应用于您的用户控件,其值指向将由验证控件验证的属性的名称

检查此链接http://www.matthewedmondson.info/2010/01/validation-for-custom-user-controls.html

于 2013-08-21T11:34:14.793 回答