ASP.NET验证不起作用
本文关键字:不起作用 验证 NET ASP | 更新日期: 2023-09-27 18:19:22
我做了一个注册表格,添加了一些验证,但他们没有被瞄准/解雇,我不知道出了什么问题,它似乎在Internet explorer上工作得很好,但在firefox上不行:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Register.aspx.cs" Inherits="Register" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.auto-style1 {
width: 100%;
}
.auto-style2 {
width: 143px;
text-align: right;
}
.auto-style3 {
width: 280px;
}
.auto-style4 {
font-size: x-large;
text-align: left;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div class="auto-style4">
Registeration</div>
<table class="auto-style1">
<tr>
<td class="auto-style2">Username:</td>
<td class="auto-style3">
<asp:TextBox ID="tbUserName" runat="server" Width="277px" MaxLength="16"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="tbUserName" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="tbUserName" ErrorMessage="4 - 16 Characters!" ForeColor="Red" MaximumValue="16" MinimumValue="4" Type="Integer"></asp:RangeValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Password:</td>
<td class="auto-style3">
<asp:TextBox ID="tbPassword" runat="server" Width="277px" MaxLength="16"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="tbPassword" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator2" runat="server" ControlToValidate="tbPassword" ErrorMessage="4 - 16 Characters!" ForeColor="Red" MaximumValue="16" MinimumValue="4" Type="Integer"></asp:RangeValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Confirm Password:</td>
<td class="auto-style3">
<asp:TextBox ID="tbConfPassword" runat="server" Width="277px" MaxLength="16"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="tbConfPassword" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator3" runat="server" ControlToValidate="tbConfPassword" ErrorMessage="4 - 16 Characters!" ForeColor="Red" MaximumValue="16" MinimumValue="4" Type="Integer"></asp:RangeValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Email:</td>
<td class="auto-style3">
<asp:TextBox ID="tbEmail" runat="server" Width="277px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="tbEmail" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2">First Name:</td>
<td class="auto-style3">
<asp:TextBox ID="tb1stName" runat="server" Width="277px" MaxLength="16"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="tb1stName" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator4" runat="server" ControlToValidate="tb1stName" ErrorMessage="4 - 16 Characters!" ForeColor="Red" MaximumValue="16" MinimumValue="4" Type="Integer"></asp:RangeValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Second Name:</td>
<td class="auto-style3">
<asp:TextBox ID="tb2ndName" runat="server" Width="277px" MaxLength="16"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ControlToValidate="tb2ndName" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RangeValidator5" runat="server" ControlToValidate="tb2ndName" ErrorMessage="4 - 16 Characters!" ForeColor="Red" MaximumValue="16" MinimumValue="4" Type="Integer"></asp:RangeValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Age:</td>
<td class="auto-style3">
<asp:TextBox ID="tbAge" runat="server" Width="277px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" ControlToValidate="tbAge" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Gender:</td>
<td class="auto-style3">
<asp:DropDownList ID="dlGender" runat="server" Width="277px">
<asp:ListItem Selected="True">Select Gender</asp:ListItem>
<asp:ListItem>Male</asp:ListItem>
<asp:ListItem>Female</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" ControlToValidate="dlGender" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Secret Question1:</td>
<td class="auto-style3">
<asp:DropDownList ID="dl1stQ" runat="server" Height="24px" Width="277px">
<asp:ListItem Selected="True">Select Question</asp:ListItem>
<asp:ListItem>What is your Favourite Car Manufacturer?</asp:ListItem>
<asp:ListItem>What is your Favourite Food?</asp:ListItem>
<asp:ListItem>What is your Favourite Video Game?</asp:ListItem>
<asp:ListItem>What is your Favourite Drink?</asp:ListItem>
<asp:ListItem>What is your Favourite Brand?</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" ControlToValidate="dl1stQ" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Answer:</td>
<td class="auto-style3">
<asp:TextBox ID="tbAnswer" runat="server" Width="277px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" ControlToValidate="tbAnswer" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Secret Question2:</td>
<td class="auto-style3">
<asp:DropDownList ID="dlQ2" runat="server" Height="16px" Width="277px">
<asp:ListItem Selected="True">Select Question</asp:ListItem>
<asp:ListItem>What is your Favourite Sports Team?</asp:ListItem>
<asp:ListItem>Who is your Favourite Singer?</asp:ListItem>
<asp:ListItem>Who is your Favourite Actor?</asp:ListItem>
<asp:ListItem>Who is your Favourite Actress?</asp:ListItem>
<asp:ListItem>Who is your favourite Sports Player?</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" ControlToValidate="dlQ2" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Answer:</td>
<td class="auto-style3">
<asp:TextBox ID="tbAnswer2" runat="server" Width="277px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator12" runat="server" ControlToValidate="tbAnswer2" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Secret Question3:</td>
<td class="auto-style3">
<asp:DropDownList ID="dlQ3" runat="server" Width="277px">
<asp:ListItem Selected="True">Select Question</asp:ListItem>
<asp:ListItem>What is your mother Maiden Name?</asp:ListItem>
<asp:ListItem>Where were you born?</asp:ListItem>
<asp:ListItem>What was your first best friends Name?</asp:ListItem>
<asp:ListItem>Who was your first kiss?</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator13" runat="server" ControlToValidate="dlQ3" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style2">Answer:</td>
<td class="auto-style3">
<asp:TextBox ID="tbAnswer3" runat="server" Width="277px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator14" runat="server" ControlToValidate="tbAnswer3" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
</table>
</form>
</body>
</html>
你能在你的firebug中检查控制台是否有JavaScript错误吗?你也可以试着为你的验证器和按钮放一个验证组
您可以尝试在加载后的代码中调用Page.Validate();
。也可以将按钮CausesValidation
的属性设置为true。默认情况下,页面在加载之前不会进行验证。如果原因验证为真,则应在单击按钮后进行验证。您也可以通过调用Page.Validate()
浏览器显示哪种类型的错误信息,为什么是Visual Studio Fire?你可没提过。
我认为你的错误信息是这样的
WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for 'jquery'. Please add a ScriptResourceMapping named jquery(case-sensitive).
好的,你可以尝试在web配置中使用下面的部分来进行验证控制。我希望它能解决你的验证控制问题。
<appSettings>
<!--
For Validation Control
-->
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>
如果问题仍然存在,将此脚本附加到ASPX页面的<head>
标签后面。
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js
"jquery(大小写敏感)"此消息不应再显示。
为所有文本创建相同的验证组,并添加按钮和验证
ValidationGroup="AAA"
和添加代码到您的保存按钮:
If (Page.IsValid) Then
YOURSQL.Insert()
'or ur code here'
End If