我有一个简单的asp.net webform,它总是对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
以检查原因是什么返回真实
答案 0 :(得分:0)
问题已解决,因为问题是由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>