簡體   English   中英

必填字段驗證程序始終顯示錯誤消息

[英]Required Field Validator always shows the error message

我有這個代碼:

<asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rvFirstName" runat="server" 
 ErrorMessage="Enter First Name" 
ForeColor="Red" ControlToValidate="txtFirstName" 
SetFocusOnError="True"></asp:RequiredFieldValidator>

問題是每次頁面加載時錯誤消息不僅在單擊提交按鈕后顯示。 我希望它只在用戶嘗試單擊“下一步”(提交)按鈕時顯示它(它應該如何工作)。

如果這是相關的:上面的代碼放在UserControl中,UserControl包含在另一個UserControl中(“Next”按鈕在這里),然后將其包含在MultiView視圖中。

有任何想法嗎

在其他按鈕上使用causeValidation為false。

並顯示為動態。

在require require validator上Display="Dynamic"

<asp:RequiredFieldValidator ID="rvFirstName" runat="server" Display="Dynamic"
     ErrorMessage="Enter First Name" ForeColor="Red" 
     ControlToValidate="txtFirstName" SetFocusOnError="True">
</asp:RequiredFieldValidator>

最好的方法是在Button和RequiredFieldValidator上設置ValidationGroup。

請看下面的參考資料,您的頁面中是否有類似Page.Isvalid的內容?

參考: 必填字段驗證器,顯示在初始頁面加載上

<asp:ValidationSummary ID="ValidationSummary1" runat="server" 
        ShowMessageBox="True" DisplayMode="BulletList" 
        HeaderText="Validation issues" ShowSummary="False" ValidationGroup="Validation"/>


<asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>

   <asp:RequiredFieldValidator ID="rvFirstName" runat="server" ErrorMessage="Enter First Name" ForeColor="Red" ControlToValidate="txtFirstName" SetFocusOnError="True" ValidationGroup="Validation"></asp:RequiredFieldValidator>

添加上面的代碼並修改Required Field Validator

為RequiredFieldValidator和Next按鈕設置'ValidationGroup'

刪除SetFocusOnError =“True”並在requiredfieldvalidation中添加display =“Dynamic”而不是SetFocusOnError =“True” ,並在頁面中設置casevalidtion =“false”

  1. 01.如果要在頁面加載中顯示消息。 protected void Page_Load(object sender,EventArgs e){if(!Page.IsPostBack){Page.Validate(); }}

    1. 顯示=“動態”

暫無
暫無

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

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