必填字段验证程序始终显示错误消息

时间:2013-10-16 09:09:29

标签: c# asp.net 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"></asp:RequiredFieldValidator>

问题是每次页面加载时都会显示错误消息,而不仅是在单击提交按钮后。我希望它只在用户尝试单击“下一步”(提交)按钮时显示它(它应该如何工作)。

如果这是相关的:上面的代码放在UserControl中,UserControl包含在另一个UserControl中(“Next”按钮在这里),然后将其包含在MultiView视图中。

任何想法

7 个答案:

答案 0 :(得分:1)

在其他按钮上使用causeValidation为false。

并显示为动态。

Display="Dynamic" on require filed validator

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

请看下面的参考资料,您的网页中是否有类似Page.Isvalid的内容?

参考文献:Required Field Validator, displaying on initial page load

答案 3 :(得分:0)

<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

答案 4 :(得分:0)

为RequiredFieldValidator和Next按钮设置'ValidationGroup'

答案 5 :(得分:0)

  

删除 SetFocusOnError =“True”并添加 display =“Dynamic” ,而不是 SetFocusOnError =“True” requiredfieldvalidation 中,并在页面中设置 casevalidtion =“false”

答案 6 :(得分:0)

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

    1. 显示=&#34;动态&#34;