加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET表单验证第一次不起作用

发布时间:2020-12-16 09:33:58 所属栏目:asp.Net 来源:网络整理
导读:asp:UpdatePanel ID="LoginPanel" UpdateMode="Conditional" runat="server" ContentTemplate div id="login" div class="row" div class="label" asp:Label ID="lblUsername" Text="%$Resources:Login,UserNameField %" runat="server" / /div div class="f
<asp:UpdatePanel ID="LoginPanel" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
        <div id="login">
            <div class="row">
                <div class="label">
                    <asp:Label ID="lblUsername" Text="<%$Resources:Login,UserNameField %>" runat="server" />
                </div>
                <div class="field">
                    <asp:TextBox ID="txtUsername" MaxLength="12" runat="server" />
                    <asp:RequiredFieldValidator ID="rfvUsername" ControlToValidate="txtUsername" ValidationGroup="vgLogin" SetFocusOnError="true"
                        ErrorMessage="*" ToolTip="<%$Resources:Login,UserNameRequired %>" runat="server" />
                </div>
            </div>

            <div class="row">
                <div class="label">
                    <asp:Label ID="lblPassword" Text="<%$Resources:Login,PasswordField %>" runat="server" />
                </div>
                <div class="field">
                    <asp:TextBox ID="txtPassword" MaxLength="12" TextMode="Password" runat="server" />
                    <asp:RequiredFieldValidator ID="rfvPassword" ControlToValidate="txtPassword" ValidationGroup="vgLogin" SetFocusOnError="true"
                        ErrorMessage="*" ToolTip="<%$Resources:Login,PasswordRequired %>"  runat="server" />
                </div>
            </div>

            <div class="row">
                <div class="label">
                    <asp:Label ID="lblRemember" Text="<%$Resources:Login,RememberField %>" runat="server" />
                </div>
                <div>
                    <asp:CheckBox ID="chkRemember" Checked="true" ToolTip="<%$Resources:Login,RememberToolTip %>" runat="server" />
                </div>
            </div>

            <div class="buttons">
                <asp:Button ID="btnLogin" Text="<%$Resources:Login,Command %>" OnClick="btnLogin_Click" ValidationGroup="vgLogin" CausesValidation="true" runat="server" />
            </div>
        </div>
    </ContentTemplate>
</asp:UpdatePanel>

第一次,验证器不会检查字段是否已完成,无论如何都会提交表单,在初始打嗝之后,表单每次都会正确验证.

我知道我可以问(并且应该,无论如何)在服务器端是否有Page.IsValid,但我仍然希望验证能够在第一次正确警告用户输入错误,而不是先等待服务器响应.

我究竟做错了什么?

解决方法

如果它们之间存在依赖关系,那么JS文件的加载顺序可能会导致问题.由于随机延迟,一些依赖关系可能尚未满足,导致功能中断.如果是这种情况,您的控制台可能会给出提示.在后续的页面加载中,一切看起来都很好,因为JS文件被缓存,现在加载时没有按正确的顺序延迟.

要尝试的事情:

>玩JS包含订单
>尝试推迟使用
依赖性直到body.onload之后
被解雇.
>您可能还想尝试一下
the rather involved solution
offered on aspdotnetfaq.

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读