1

ユーザーがボックスに入力してリターンを押すと自動ポストバックが行われるテキストボックスがあり、テキストボックスが配置されているページのその部分を更新するだけの更新パネルがあります。

そのテキスト ボックスに、ユーザーがウィザード コントロールの次のステップに移動するときにボックスを完了しない場合に起動する必要がある requiredfieldvalidator を添付しました。

問題は、バリデーターが起動していないことです。その理由がわかりません。これは ASP のバグですか、それとも更新パネル内で検証するために何か他のことをする必要がありますか?

4

2 に答える 2

1

モーダルと UpdatePanel で同じ問題が発生しました。requirefilevalidator プロパティを ValidationGroup="groupvalidationX" として 追加する必要があります。ボタンについても同様です。

<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"TextBox に追加してみてください。

于 2012-10-18T19:01:07.310 に答える