0

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

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

4

1 回答 1

0

对于自定义验证器,您必须在 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>
于 2013-07-19T13:16:19.670 回答