簡體   English   中英

在asp.net向導中單擊下一步時,如何繞過頁面上的驗證?

[英]How can i bypass validation on page when clicking next in a asp.net Wizard?

向導中的第一步是設置多個文本框。

所有這些文本框上都有一個requiredfieldvalidator。

我需要找到一種暫時繞過這些驗證或忽略它們的方法,因為我需要在向導結束時顯示所有錯誤,作為最后一步,然后單擊完成。

我的問題是向導不允許我導航到下一步,直到所有文本框均已填寫。

有沒有一種方法可以忽略錯誤並在向導中導航並在向導末尾的驗證摘要中使用它們?

這是我的asp代碼:(我嘗試將每個文本框的CausesValidation設置為false,但這仍然無法正常工作)

            <asp:WizardStep ID="WizardStep1" runat="server" Title="Step 1 - Customer Information">

                <asp:Table runat="server" ID="UserInfoTable">

                    <asp:TableRow>
                        <asp:TableCell>
                            <asp:Label ID="Label2" runat="server" Text="Identification Number:"></asp:Label>&nbsp&nbsp
                        </asp:TableCell>

                        <asp:TableCell>
                            <asp:TextBox runat="server" ID="txtUserID" CausesValidation="false"></asp:TextBox>
                            <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator" ErrorMessage="*Required" ControlToValidate="txtUserID"></asp:RequiredFieldValidator><br />
                        </asp:TableCell>
                        </asp:TableRow>

                    <asp:TableRow>
                        <asp:TableCell>
                            <asp:Label ID="Label1" runat="server" Text="First Name:" CausesValidation="false"></asp:Label>&nbsp&nbsp
                        </asp:TableCell>

                        <asp:TableCell>
                            <asp:TextBox runat="server" ID="txtUserFName" CausesValidation="false"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*Required" ControlToValidate="txtUserFName"></asp:RequiredFieldValidator><br />
                        </asp:TableCell>                   
                    </asp:TableRow>

                    <asp:TableRow>
                        <asp:TableCell>
                            <asp:Label ID="Label3" runat="server" Text="Second Name:" CausesValidation="false"></asp:Label>&nbsp&nbsp
                        </asp:TableCell>
                        <asp:TableCell>
                            <asp:TextBox runat="server" ID="txtUserSurname"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="*Required" ControlToValidate="txtUserSurname"></asp:RequiredFieldValidator><br />
                        </asp:TableCell>
                    </asp:TableRow>

                    <asp:TableRow>
                        <asp:TableCell>
                            <asp:Label ID="Label4" runat="server" Text="Street Addrress:" CausesValidation="false"></asp:Label>&nbsp&nbsp
                        </asp:TableCell>
                        <asp:TableCell>
                            <asp:TextBox runat="server" ID="txtUserAddress" CausesValidation="false"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="*Required" ControlToValidate="txtUserAddress"></asp:RequiredFieldValidator><br />
                        </asp:TableCell>
                    </asp:TableRow>

                    <asp:TableRow>
                        <asp:TableCell>
                            <asp:Label ID="Label5" runat="server" Text="City:" CausesValidation="false"></asp:Label>&nbsp&nbsp
                        </asp:TableCell>
                        <asp:TableCell>
                            <asp:TextBox runat="server" ID="txtUserCity"></asp:TextBox>

                            <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="*Required" ControlToValidate="txtUserCity"></asp:RequiredFieldValidator><br />
                        </asp:TableCell>
                    </asp:TableRow>

                    <asp:TableRow>
                        <asp:TableCell>
                            <asp:Label ID="Label6" runat="server" Text="E-Mail:" CausesValidation="false"></asp:Label>&nbsp&nbsp
                        </asp:TableCell>
                        <asp:TableCell>
                            <asp:TextBox runat="server" ID="txtUserEmail"></asp:TextBox>

                            <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="*Email address incorrect" ControlToValidate="txtUserEmail" ValidationExpression=".+@.+"></asp:RegularExpressionValidator><br />

                        </asp:TableCell>
                    </asp:TableRow>

                    <asp:TableRow>
                        <asp:TableCell>
                            <asp:Label ID="Label7" runat="server" Text="Contact Number:" CausesValidation="false"></asp:Label>&nbsp&nbsp
                        </asp:TableCell>
                        <asp:TableCell>
                            <asp:TextBox runat="server" ID="txtContactNo"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ErrorMessage="*Required" ControlToValidate="txtContactNo"></asp:RequiredFieldValidator>


                            <br />
                        </asp:TableCell>
                    </asp:TableRow> 

                </asp:Table>
            </asp:WizardStep>

我知道如何使用驗證摘要。 所以我不需要幫助。.我只需要知道如何在控件上禁用驗證。

謝謝您的幫助。

解決問題。

解決方案是將所有驗證器移至向導的最后一步。

這是我的代碼作為示例:

        <asp:WizardStep ID="WizardStep4" runat="server" Title="Step 4 - Finalize booking">
            <h2>Finish</h2>
                <asp:ValidationSummary ID="ValidationSummary1" runat="server" HeaderText="Errors"/>


            <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator7" ErrorMessage="Customer ID required" ControlToValidate="txtUserID" Font-Bold="true" ForeColor="Red" Display="None"></asp:RequiredFieldValidator><br />
            <asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" ErrorMessage="Customer first name required" ControlToValidate="txtUserFName" Font-Bold="true" ForeColor="Red" Display="None"></asp:RequiredFieldValidator><br />
            <asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" ErrorMessage="Customer last name required" ControlToValidate="txtUserSurname" Font-Bold="true" ForeColor="Red" Display="None"></asp:RequiredFieldValidator><br />
            <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" ErrorMessage="Customer address required" ControlToValidate="txtUserAddress" Font-Bold="true" ForeColor="Red" Display="None"></asp:RequiredFieldValidator><br />
            <asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" ErrorMessage="Customer city required" ControlToValidate="txtUserCity" Font-Bold="true" ForeColor="Red" Display="None"></asp:RequiredFieldValidator><br />
            <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ErrorMessage="Email format is incorrect" ControlToValidate="txtUserEmail" ValidationExpression=".+@.+" Font-Bold="true" ForeColor="Red" Display="None"></asp:RegularExpressionValidator><br />
            <asp:RequiredFieldValidator ID="RequiredFieldValidator12" runat="server" ErrorMessage="Contact number incorrect" ControlToValidate="txtContactNo" Font-Bold="true" ForeColor="Red" Display="None"></asp:RequiredFieldValidator>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator13" runat="server" ErrorMessage="Enter number of people for booking" Font-Bold="true" ForeColor="Red" ControlToValidate="txtNoOfPeople" Display="None"></asp:RequiredFieldValidator>

            </asp:WizardStep>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM