【问题标题】:RequiredFieldValidator not ValidatingRequiredFieldValidator 未验证
【发布时间】:2012-06-04 18:37:18
【问题描述】:

我在一个带有必填字段验证器的 ASP.NET 页面上有一个控件。唯一的问题是,当我通过页面按钮更改页面时,它不会导致验证。代码如下,谁能看看有什么问题?

<asp:Label ID="lblD_Year" runat="server" BorderStyle="None" 
                       Text="Fiscal Year" CssClass="h2"></asp:Label>&nbsp;&nbsp;&nbsp;
                <asp:DropDownList ID="ddlD_Year" runat="server" Width="100px" TabIndex="8" 
                    AutoPostBack="True" CssClass="box" CausesValidation="True">
                    <asp:ListItem Value="0" Selected="True">Select Year</asp:ListItem>
                </asp:DropDownList>                               

                <asp:RequiredFieldValidator ID="rfvD_Year" runat="server" 
                    ControlToValidate="ddlD_Year" Display="Dynamic" ErrorMessage="*" 
                    Font-Bold="True" ForeColor="Red" InitialValue="Select Year" 
                    SetFocusOnError="True"></asp:RequiredFieldValidator>

【问题讨论】:

  • 按钮没有 CausesValidation="false",对吗?按钮也在同一个验证组中?
  • 它确实有原因validation ="false" 因为当人们开始在表单上输入信息时,如果他们按下了错误的按钮并需要移动到不同的页面,它不允许移动,因为验证会发生。有没有办法解决这个问题?

标签: asp.net validation requiredfieldvalidator


【解决方案1】:

将验证器的初始值设置为InitialValue="-1" 或任何您认为为空的值(如果选择)

【讨论】:

  • 这就是整个代码。这是一个非常简单的表格,选择一个值并按下一个按钮。
  • ok 将 ValidationGroup="something" 添加到控件(下拉)、验证器和提交按钮
【解决方案2】:

设置 InitialValue="0"

<asp:RequiredFieldValidator ID="rfvD_Year" runat="server" 
                    ControlToValidate="ddlD_Year" Display="Dynamic" ErrorMessage="*" 
                    Font-Bold="True" ForeColor="Red" InitialValue="0" 
                    SetFocusOnError="True"></asp:RequiredFieldValidator>

【讨论】:

  • 那行不通。我原本以为这也是问题,但无济于事。
  • @developthestars 确保将按钮的 CausesValidation 设置为 true。您可以将所有其他按钮的 CausesValidation 设置为 false(您不希望在其上触发验证)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多