【问题标题】:customvalidator client side validationcustomvalidator 客户端验证
【发布时间】:2023-03-23 20:09:01
【问题描述】:

我有一个自定义验证器,并希望它验证客户端而不是服务器端。 这是我的功能:

function checkCampDockTemplate(source, args)
    {
        var campDockTemplate = document.getElementById('<%= drpCampDockTemplate.ClientID %>');

        if (campDockTemplate.selectedIndex == 0)
        {
            args.IsValid = false;
        }
        else
        {
            args.IsValid = true;
        }
    }



<asp:CustomValidator ID="campaignDocketTemplateCustomValidator" runat="server" ErrorMessage="Please select a Campaign Docket Template"
            ControlToValidate="drpCampDockTemplate" OnServerValidate="campaignDocketTemplateCustomValidator_ServerValidate"
            ClientValidationFunction="javascript:checkCampDockTemplate()"></asp:CustomValidator>

谁能帮我解决这个问题。 提前致谢。

【问题讨论】:

    标签: javascript customvalidator


    【解决方案1】:

    您的函数格式基本正确,但您只需要在 ClientValidationFunction 属性中按名称引用客户端函数,例如

    <asp:CustomValidator ID="campaignDocketTemplateCustomValidator" 
    runat="server" 
    ErrorMessage="Please select a Campaign Docket Template"
    ControlToValidate="drpCampDockTemplate"     
    OnServerValidate="campaignDocketTemplateCustomValidator_ServerValidate"
    ClientValidationFunction="checkCampDockTemplate"/>
    

    如果您还想完全删除服务器端验证,可以从 CustomValidator 中删除 OnServerValidate 属性。

    不过,一般来说,在服务器和客户端验证您的输入通常是明智的,以防人们关闭了 javascript!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-19
      • 2010-10-18
      • 2012-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多