javascript - CustomValidator 客户端验证

标签 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>

任何人都可以在这方面帮助我吗? 提前致谢。

最佳答案

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

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

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

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

关于javascript - CustomValidator 客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6408282/

相关文章:

javascript - : set all dom events at once, 和渐进性能哪个更好?

jquery - CustomValidator 的问题

angular - 在 Angular 2 中异步验证表单字段(在 HTTP 请求之后)

javascript - 带有 ClientValidationFunction 的 ASP.NET CustomValidator

javascript - 在 Javascript 中的 API 调用之间使用 ASYNC/AWAIT 内的数组方法

javascript - PHP 执行时 <a> 链接到其他页面

javascript - 为什么这个 Angular JS 资源不会在事件中触发?

c# - 基于其他字段的条件验证,c#

javascript - 添加查询字符串时验证不起作用

javascript - 在这种情况下如何修复自动关闭 div 标签