customvalidator客户端验证

时间:2011-06-20 07:58:02

标签: javascript customvalidator

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

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>

任何人都可以帮我解决这个问题。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

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

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

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

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