如何运行ASP.Net页面的客户端验证?
|
我正在尝试运行客户端验证.我把一个非常简单的测试放在一起 – 文件名是aTET3.aspx: <%@ Page Language="C#" AutoEventWireup="true"
CodeFile="aTET3.aspx.cs" Inherits="aTET3" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>TEST</title>
<script type="text/javascript">
//<![CDATA[
function TEST()
{
alert("INSIDE TEST");
alert("ValidatorCommonOnSubmit()=" + ValidatorCommonOnSubmit());
alert("Page_ClientValidate()=" + Page_ClientValidate());
}
//]]>
</script>
</head>
<body link="#1A548E" vlink="#1A548E" alink="#1A548E" onunload="TEST()">
<form name="appForm" method="post" action="aTET3.aspx" id="appForm" runat="server">
<asp:ValidationSummary id="appValidationSummary"
ValidationGroup="appValidation"
DisplayMode="List"
EnableClientScript="true"
HeaderText="Loan application not ready"
runat="server"
Enabled="true"
Visible="true"
ShowSummary="true" />
<asp:Label ID="lblMessage" Font-Bold="true" ForeColor="Red" runat="server" />
<br />
Enter amount:
<asp:RequiredFieldValidator ID="ApplicationAmountValidator"
ValidationGroup="appValidation"
ControlToValidate="txtApplicationAmount"
ErrorMessage="Application amount is required."
EnableClientScript="true"
Enable="true"
Display="Dynamic"
runat="server">+++</asp:RequiredFieldValidator>
<asp:TextBox ID="txtApplicationAmount" Columns="6" runat="server" />
<br /><br />
<asp:Button ID="btnSave" runat="server" Text="Send Application"
CausesValidation="true" />
</form>
</body>
</html>
该页面有一个带有RequiredFieldValidator的文本框.还有一个ValidationSummary控件和一个提交按钮. (我添加了在Unload上调用的TEST()方法,以便在回调之前检查页面的状态.)不会发生客户端验证;相反,请求被发送回服务器.如果我在服务器上调用Validate(),那么我会得到验证. 我尝试将ValidateRequest =“true”添加到Page指令,结果相同. 当我查看发出的Javascript时,有一些事情会向我发出.这是它的一部分: <script type="text/javascript">
<!--
var Page_ValidationActive = false;
if (typeof(ValidatorOnLoad) == "function") {
ValidatorOnLoad();
}
function ValidatorOnSubmit() {
if (Page_ValidationActive) {
return ValidatorCommonOnSubmit();
}
else {
return true;
}
}
// -->
</script>
请注意,Page_ValidationActive设置为False,这意味着ValidatorOnSubmit始终返回true.这对我来说似乎很奇怪,除了我查看’WebUIValidation.js’,并看到ValidatorCommonOnSubmit无论如何都不验证页面 – Page_ClientValidate()方法,但我如何让它运行? 在我的TEST()方法中,当我手动调用Page_ClientValidate()时,表单确实按预期验证了客户端 – 并且回发请求被发送回服务器. 我已经使用FireFox 3.0.10和MSIE 7进行了测试,结果相同. 我希望我错过了一些非常基本的东西,我最终会觉得非常愚蠢 – 任何人都可以指出它吗? 解决方法您必须在同一验证组中拥有所有验证内容.包括触发验证的按钮.(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在ASP.NET AJAX中动态添加控件到UpdatePanel
- asp.net-mvc – Umbraco 7自定义cookie
- asp.net – 递归控制搜索与LINQ
- asp.net-mvc – Mvc4绑定,缩小和AngularJS服务
- asp.net-mvc-3 – 任务/线程的Ninject Scope问题
- 在ASP.NET中流式传输大文件上传
- asp.net-mvc – 允许一个人一次使用帐户的可重用方式
- asp.net – 在剃刀中等同于End / Response.End?
- asp.net – 如果页面上有异常,则输出缓存无效
- asp.net-mvc – 如何在共享托管环境中实现ASP.Net MVC网站的
- asp.net-mvc – 绑定到MVC中的SelectList
- asp.net – .NET 4.5中的样式包和CSS中的图标
- npm – 如何从asp.net vnext项目中的wwwroot访问
- asp.net-mvc – 如何在MVC控制器中使用消息框?
- asp.net-core – 如何在ASP.NET Core中启动Quart
- C#,.Net自动生成大写字母编码
- asp.net-mvc – 更新到MVC 5后,iframe不再有效
- views – 我应该在asp.net MVC6中为我的所有图像
- asp.net-mvc – 在MVC/ASP.NET MVC中正确使用Mod
- 在ASP.NET中,HTML指令符号%#或%= etc?在服务器
