【问题标题】:Page_ClientValidate in asp.net always return trueasp.net 中的 Page_ClientValidate 总是返回 true
【发布时间】:2018-08-12 17:15:35
【问题描述】:

我有一个简单的 asp.net 网络表单,它始终为 Page_ClientValidate 返回 true,并且无需验证即可提交表单。

我已经根据其他文章进行了更改,但我仍然保持真实。

示例代码

 <div>
      <asp:ValidationSummary ID="vsForm" runat="server" CssClass="validationsum" ValidationGroup="vgFormContact" />
    <asp:TextBox ID="txtFullName" CssClass="input_field" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="rfName" runat="server" ErrorMessage="Name field can't be blank" CssClass="css-validator" ControlToValidate="txtFullName" ValidationGroup="vgFormContact"></asp:RequiredFieldValidator>

    <div class="col-sm-12">
    <asp:Button ID="btnSave" CssClass="btn btn-style" runat="server" Text="SAVE" ValidationGroup="vgFormContact" OnClientClick="ValidateForm(this);" OnClick="btnSave_Click" />
    </div>




<script type="text/javascript">   
     function ValidateForm(myButton) {

            // Client side validation
            if (typeof (Page_ClientValidate) == 'function') {

                if (Page_ClientValidate("vgFormContact") == false) { 

                    return false;
                }

            }
            return true;
        }

</script>

我已经更改了 CausesValidation="false" UseSubmitBehavior="true" 的属性,似乎没有任何区别,在不确定我哪里做错之前,我从来没有遇到过这样的问题。

为了简单起见,我只添加了一个字段作为示例,在实际的故障排除代码中,我也在做同样的事情,我只是验证 txtFullName 以测试 purpose 以检查为什么返回 true

【问题讨论】:

  • 您的代码运行良好。您的 web.config 文件是否有此应用设置?
  • 问题已解决,因为问题是由于jQuery v1.12.4 我从另一个文件夹而不是默认文件夹中提取的内容。我已将其从默认文件夹中删除,并使用模板的 jquery 以避免与插件发生任何冲突..

标签: javascript asp.net validation webforms


【解决方案1】:

问题已解决,因为问题是由于jQuery v1.12.4 我从另一个文件夹而不是默认文件夹中提取的内容。我已将其从默认文件夹中删除,并使用模板的 jquery 以避免与插件发生任何冲突..

我使用的是模板资产文件夹中的这个

 <script type="text/javascript" src="~/assets/en/js/jQuery v1.12.4.js"></script>

当我删除上面的行并使用它工作的默认 jquery 文件时。

 <script type="text/javascript" src="~/scripts/jQuery v1.12.4.js"></script>

问题似乎是正在调用 jQuery 文件

<asp:ScriptManager runat="server" EnablePageMethods="true">
    <Scripts>
        <asp:ScriptReference Name="jquery" />
        <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" />
        <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" />
    </Scripts>
</asp:ScriptManager>

【讨论】:

  • 你知道为什么这个 jQuery 引用导致了这个问题吗?
  • 我不知道为什么可能是由于调用这个 jQuery 文件时的冲突..
  • 这不是解决方案
猜你喜欢
  • 1970-01-01
  • 2013-08-06
  • 2017-05-10
  • 2013-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多