如何在回发之前验证自定义ASP.net控件

时间:2013-08-21 10:45:21

标签: asp.net validation custom-controls postback

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

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

请帮忙。

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

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

<asp:Button ID="Submit" runat="server" Text="Submit" CausesValidation="True" ClientIDMode="Static"/>

答案 2 :(得分:0)

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

点击此链接http://www.matthewedmondson.info/2010/01/validatation-for-custom-user-controls.html