1

我有一个文本框,当用户填写该框并点击返回时,它会自动回发,并且更新面板在那里只是刷新文本框所在的页面部分。

我已在该文本框中附加了一个 requiredfieldvalidator,如果用户在进入向导控件的下一步时未完成该框,则需要触发该框。

问题是验证器没有触发,我不明白为什么?这是 ASP 中的错误还是我需要在更新面板中进行其他验证?

4

2 回答 2

1

我对模态和 UpdatePanel 有同样的问题,您必须将requirefilevalidator 属性添加为 ValidationGroup="groupvalidationX",对于 Button 也是如此:

<asp:UpdatePanel runat="server">
    <ContentTemplate>                                                       
        <asp:RequiredFieldValidator runat="server" ID="rfvtxtClave" ForeColor="Red" 
            ControlToValidate="txtClaveDependencia" Display="Dynamic" 
            ErrorMessage="Rellena este campo" SetFocusOnError="true" 
            ValidationGroup="validacionesDependencia">
        </asp:RequiredFieldValidator>

        <asp:TextBox runat="server" ID="txtClaveDependencia" MaxLength="10" 
            autocomplete="off" placeholder="Clave de la dependencia" 
            Style="display: inline" CssClass="form-control tb8">
        </asp:TextBox>
    </ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="btnGuardarDependencia" />
    </Triggers>
</asp:UpdatePanel>                                  
<asp:Button runat="server" ID="btnGuardarDependencia" 
    CssClass="btn btn-block botonAfirmacion" 
    ValidationGroup="validacionesDependencia" 
    Text="Guardar dependencia" CausesValidation="true" 
    OnClick="btnGuardarDependencia_Click" />
于 2016-02-03T22:24:05.290 回答
0

因为 AutoPostBack 设置为 true,所以我相信客户端验证过程无法在需要时触发。

尝试添加CausesValidation="True"到文本框。

于 2012-10-18T19:01:07.310 回答