【问题标题】:Asp.Net CustomValidator is not generating equal functions in java scriptAsp.Net 自定义验证器未在 javascript 中生成相同的函数
【发布时间】:2013-07-19 11:37:30
【问题描述】:

我正在创建我的 Asp.Net 网站的注册页面。当我们使用服务器端 Asp.net 内置验证控件时,它们既可以在客户端工作(通过生成适当的 java 脚本代码),也可以提供服务器端保护。因此,如果有人绕过该 java 脚本,仍然必须在服务器上验证该页面。目前我在自定义验证器中使用我自己的 asp.net C# 函数来完成这项工作,但这些仅适用于服务器端。我的意思是,我的 Web 表单上不会自动生成相等的 java 脚本。这是 Asp.Net 的默认行为还是我遗漏了什么?当我使用 asp.net 自定义验证器时,我是否必须自己编写客户端 java 脚本?

我的第二个问题是我们何时为我们的 asp.net 自定义验证器编写函数。当页面提交到服务器时调用它们。我可以使用 java 脚本访问这样的功能,以便在页面提交到服务器之前开始工作。

【问题讨论】:

    标签: javascript asp.net c#-4.0


    【解决方案1】:

    对于自定义验证器,您必须使用 javascript 和 C# 编写自己的验证代码

    如果您将一些 javascript 附加到验证器,它将与页面上的所有标准 .net 验证器一起触发,因此可以在回发之前捕获错误

    您需要确保设置了 ClientValidationFunction 方法。

    <asp:CustomValidator 
         id="ProgrammaticID" 
         ControlToValidate="programmatic ID of Server Control to Validate"
         ClientValidationFunction="ClientValidateID"
         OnServerValidate="ServerValidateID"
         ErrorMessage="Message to display in ValidationSummary control"
         Text="Message to display in control" 
         ForeColor="value" 
         BackColor="value"  
         runat="server" >
    </asp:CustomValidator>
    

    【讨论】:

    • 谢谢,这正是我想要的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多