0

我有这个代码:

<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>

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

如果这是相关的:上面的代码放置在一个用户控件中,该用户控件包含在另一个用户控件中(“下一步”按钮在这里),然后包含在一个多视图的视图中。

有任何想法吗

4

7 回答 7

1

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

于 2013-10-16T09:16:21.527 回答
1

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

并显示为动态。

Display="Dynamic"要求提交的验证器

<asp:RequiredFieldValidator ID="rvFirstName" runat="server" Display="Dynamic"
     ErrorMessage="Enter First Name" ForeColor="Red" 
     ControlToValidate="txtFirstName" SetFocusOnError="True">
</asp:RequiredFieldValidator>
于 2013-10-16T09:13:16.357 回答
0

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

参考:必填字段验证器,在初始页面加载时显示

于 2013-10-16T09:15:20.553 回答
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

于 2013-10-16T09:15:20.577 回答
0
  1. 01.如果您想在页面加载中显示消息。protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Page.Validate(); } }

    1. 显示="动态"
于 2014-07-22T08:31:53.880 回答
0

为 RequiredFieldValidator 和 Next 按钮设置“ValidationGroup”

于 2013-10-16T09:29:02.017 回答
0

删除SetFocusOnError="True"并在您的requiredfieldvalidation中添加 display="Dynamic"而不是 SetFocusOnError="True"并在您的页面中设置casevalidtion="false"

于 2013-10-16T09:30:01.890 回答