ASP.NET验证无效

时间:2013-06-21 20:50:02

标签: c# jquery asp.net validation jquery-validate

我做了一个注册表单,添加了一些验证,但它们没有被定位/解雇,我不确定什么是错的,它似乎在Internet Explore上工作正常但不在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>

4 个答案:

答案 0 :(得分:4)

您是否可以检查您的firebug中的控制台是否有任何JavaScript错误? 您也可以尝试为验证器和按钮设置验证组。

答案 1 :(得分:3)

您可以尝试在加载后面的代码中调用Page.Validate();。您还可以将按钮CausesValidation的属性设置为true。默认情况下,页面在加载之前不会进行验证。如果原因验证为真,则应在单击按钮后进行验证。您也可以通过调用Page.Validate()

手动强制验证

答案 2 :(得分:3)

浏览器中显示哪种类型的错误消息或为什么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>

如果问题仍然存在,请将此脚本附加到<head>标记后面的ASPX页面中。

http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js

“jquery(区分大小写)”此消息不应再次显示。

答案 3 :(得分:0)

对所有文本和“添加”按钮和验证

进行相同的验证组
 ValidationGroup="AAA" 

并将代码添加到保存按钮:

 If (Page.IsValid) Then
    YOURSQL.Insert()
 'or ur code here'
  End If