bassistance jquery验证插件有问题,表单无效时提交

Posted

技术标签:

【中文标题】bassistance jquery验证插件有问题,表单无效时提交【英文标题】:Problem with bassistance jquery validation plugin, form submits when invalid 【发布时间】:2011-06-07 04:26:55 【问题描述】:

我似乎找不到任何与我在尝试使用 bassistance jquery 验证插件时的行为有关的东西。

我在 VB.net 工作(我知道,我知道)

无论如何,我有几个带有用户控件的嵌套母版页,这是我的表单。

问题是,验证有效,我收到一条消息说名字是必需的,但表单仍然提交。有没有其他人遇到过这个?有人有解决方案吗?

用户控件声明如下:

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="CampaignForm.ascx.vb" Inherits="CampaignForm" %>

插件规则脚本

<script type="text/javascript">
    // only for test purposes
    $.validator.setDefaults(
        submitHandler: function () 
            alert("submitted!");
        
    );

    $(document).ready(function () 
        $("#form1").validate(
            rules: 
            <%=tbFirstName.UniqueID %>: 
                required:true,
                minlength:2
                
            , messages:
        );
    );
</script>

然后是规则的输入

<asp:TextBox class="Wider" ID="tbFirstName" ClientIDMode="Static" runat="server"></asp:TextBox> 
<label for="tbFirstName" class="error">First name is required and must be longer than 2 characters</label>

提交按钮:

<asp:Button Width="248" Height="68" ID="btnSubmit" CssClass="btnCompareNow" runat="server" />

最后是处理按钮提交的方法:

Private Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click

    If Page.IsValid Then
    End If

End Sub

【问题讨论】:

【参考方案1】:

我可能错了,但我认为这是因为你使用服务器端控制按钮,无论如何都会发布数据...

编辑1

在按钮提交上调用函数,如onClick="validate(this);"

<script>
function validate(e)
e.preventDefault();



</script>

编辑2

$(document).ready(function()

$('#btnSubmit').click(function(e) 
        e.preventDefault();
    );
);

【讨论】:

感谢您的帮助,但遗憾的是这不是答案,表单仍然提交......我什至尝试添加 return false;到方法。 这有帮助!我将尝试按照我现在的意愿进行此验证。谢谢 3nigma!

以上是关于bassistance jquery验证插件有问题,表单无效时提交的主要内容,如果未能解决你的问题,请参考以下文章

使用jQuery(form)验证插件的简单数学验证JavaScript脚本

使用 jquery 验证插件,如何在文本框上添加正则表达式验证?

jQuery表单验证插件——jquery.validate.js

使用 Jquery 和 Zend 进行表单验证

需要一种更好的方法来使用 jquery 验证插件来验证 ASP.NET 复选框?

jquery 验证尚未创建的元素