Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 验证摘要未在适当位置显示错误_C#_Asp.net_Validation_Validationsummary - Fatal编程技术网

C# 验证摘要未在适当位置显示错误

C# 验证摘要未在适当位置显示错误,c#,asp.net,validation,validationsummary,C#,Asp.net,Validation,Validationsummary,我的登录页面中有两个组,login和createUser。我有两个验证摘要,loginSum和createSum。我要求对每个控件进行现场验证。如果单击“登录”或“创建”按钮,但所需字段没有值,则错误将显示在字段下方,而不是摘要中 登录代码: <div id="login" class="settings"> asp:Label ID="lblInvalid" runat="server" Visible="false" Display="Static"> YO

我的登录页面中有两个组,login和createUser。我有两个验证摘要,loginSum和createSum。我要求对每个控件进行现场验证。如果单击“登录”或“创建”按钮,但所需字段没有值,则错误将显示在字段下方,而不是摘要中

登录代码:

<div id="login" class="settings">
asp:Label ID="lblInvalid" runat="server" Visible="false" Display="Static">
        YOUR EMAIL OR PASSWORD WERE NOT FOUND. PLEASE REVIEW YOUR INFORMATION AND TRY AGAIN.<br /></asp:Label>
    <asp:Label ID="Label1" runat="server" Text="Email:" Width="100px" />
    <asp:TextBox ID="user" runat="server" /><br />
    <%-- validation for user login email --%>
    <asp:RegularExpressionValidator ID="validEmail"
        ControlToValidate="user"
        ValidationExpression="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"
        Display="Static"
        ValidationGroup="login"
        ErrorMessage="Email"
        SetFocusOnError="true"
        runat="server" 
        Text="*" /><br />
    <asp:Label ID="Label2" runat="server" Text="Password:" Width="100px" />
    <asp:TextBox ID="password" TextMode="password" runat="server" /><br />
    <%-- validation for user login password --%>
    <asp:RequiredFieldValidator ID="passReq"
        runat="server"
        ControlToValidate="password"
        ValidationGroup="login"
        ErrorMessage="Password"
        SetFocusOnError="true" Display="Static" 
        Text="*" /><br />
    <asp:Button ID="submit" runat="server" Text="Login" OnClick="login_Click"
        ValidationGroup="login" CausesValidation="true" /><br />
    <asp:ValidationSummary ID="loginSum"
        DisplayMode="BulletList"
        EnableClientScript="true"
        ShowSummary="true"
        HeaderText="You must enter a valid value for the following fields:"
        runat="server" />
</div>
创建代码:

<div id="create_account" class="settings">
    <asp:Label ID="Label10" runat="server" Text="Name:" Width="100px" />
    <asp:TextBox ID="txtName" runat="server" /><br />
    <%-- validation for new user --%>
    <asp:RequiredFieldValidator ID="nameReq"
        runat="server"
        ControlToValidate="txtName"
        ValidationGroup="createUser"
        ErrorMessage="You must put in a name!"
        SetFocusOnError="true" Display="Static" 
        Text="*" /><br />
    <asp:Label ID="Label3" runat="server" Text="Email Address:" Width="100px" />
    <asp:TextBox ID="txtNewUser" runat="server" /><br />
    <%-- validation for new email --%>
    <asp:RequiredFieldValidator ID="newUserReq"
        runat="server"
        ControlToValidate="txtNewUser"
        ValidationExpression="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"
        ValidationGroup="createUser"
        ErrorMessage="Email address"
        SetFocusOnError="true" Display="Static" 
        Text="*" /><br />
    <asp:Label ID="Label4" runat="server" Text="Password:" Width="100px" />
    <asp:TextBox ID="txtNewPass" TextMode="password" runat="server" /><br />
    <%-- validation for new password --%>
    <asp:RequiredFieldValidator ID="newPassReq"
        runat="server"
        ControlToValidate="txtNewPass"
        ValidationGroup="createUser"
        ErrorMessage="Password"
        SetFocusOnError="true" Display="Static" 
        Text="*" /><br />
    <asp:Label ID="Label5" runat="server" Text="Confirm Password:" Width="100px" />
    <asp:TextBox ID="txtConfirmPass" TextMode="password" runat="server" /><br />
    <%-- validation for confirm password --%>
    <asp:RequiredFieldValidator ID="confirmPassReq"
        runat="server"
        ControlToValidate="txtConfirmPass"
        ValidationGroup="createUser"
        ErrorMessage="Confirm password"
        SetFocusOnError="true" Display="Static" 
        Text="*" /><br />
    <asp:CompareValidator ID="ComparePass" runat="server"
        ControlToValidate="txtConfirmPass"
        CssClass="ValidationError"
        ControlToCompare="txtNewPass"
        ErrorMessage="The passwords you entered must match" /><br />
    <asp:Label ID="label" Text="Address:" runat="server" Width="100px" />
    <asp:TextBox ID="txtAddress" TextMode="multiline" Columns="22" Rows="3" runat="server" /><br />
    <%-- validation for new user --%>
    <asp:RequiredFieldValidator ID="addressReq"
        runat="server"
        ControlToValidate="txtAddress"
        ValidationGroup="createUser"
        ErrorMessage="Address"
        SetFocusOnError="true" Display="Static" 
        Text="*" /><br />
    <asp:Label ID="label6" Text="City:" runat="server" Width="100px" />
    <asp:TextBox ID="txtCity" runat="server" /><br />
    <%-- validation for new user --%>
    <asp:RequiredFieldValidator ID="cityReq"
        runat="server"
        ControlToValidate="txtCity"
        ValidationGroup="createUser"
        ErrorMessage="City"
        SetFocusOnError="true" Display="Static" 
        Text="*" /><br />
    <asp:Label ID="label7" Text="State:" runat="server" Width="100px" />
    <asp:TextBox ID="txtState" runat="server" /><br />
    <%-- validation for new user --%>
    <asp:RequiredFieldValidator ID="stateReq"
        runat="server"
        ControlToValidate="txtState"
        ValidationGroup="createUser"
        ErrorMessage="State (abbreviation)"
        ValidationExpression="[a-zA-Z]{2}"
        SetFocusOnError="true" Display="Static" 
        Text="*" /><br />
    <asp:Label ID="label8" Text="Zip Code:" runat="server" Width="100px" />
    <asp:TextBox ID="txtZip" runat="server" /><br />
    <%-- validation for new user --%>
    <asp:RequiredFieldValidator ID="zipReq"
        runat="server"
        ControlToValidate="txtZip"
        ValidationGroup="createUser"
        ErrorMessage="Zip code"
        ValidationExpression="[a-zA-Z]{9}"
        SetFocusOnError="true" Display="Static" 
        Text="*" /><br />
    <asp:Label ID="label9" Text="Phone Number:" runat="server" Width="100px" />
    <asp:TextBox ID="txtPhone" runat="server" /><br />
    <%-- validation for new user --%>
    <asp:RequiredFieldValidator ID="phoneReq"
        runat="server"
        ControlToValidate="txtPhone"
        ValidationGroup="createUser"
        ErrorMessage="Phone number"
        ValidationExpression="[a-zA-Z]{15}"
        SetFocusOnError="true" Display="Static" 
        Text="*" /><br />
    <asp:Button ID="create" runat="server"
        Text="Create Account" OnClick="create_Click"
        ValidationGroup="createUser" CausesValidation="true" /><br />
    <br />
    <asp:ValidationSummary ID="createSum"
        DisplayMode="BulletList"
        ShowSummary="true"
        EnableClientScript="true"
        HeaderText="You must enter a valid value for the following fields:"
        runat="server" />
</div>

有谁能帮助我或指导我学习有效的教程吗?我现在得到的是所有控件下面的*号,如果我去掉文本=*号,它只会在每个关联控件下面显示ErrorMessage=\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

您需要将验证组属性添加到所有验证程序和两个摘要,以及每个按钮仅验证一个组的按钮

ValidationGroup="logingroup"
ValidationGroup="creategroup"
请看