gpt4 book ai didi

jQuery 验证插件 : disable validation for specified submit buttons

转载 作者:IT王子 更新时间:2023-10-29 03:24:10 26 4
gpt4 key购买 nike

我有一个包含多个字段的表单,我正在使用 Jörn Zaeffere 出色的 jQuery 验证插件验证这些字段(一些字段添加了用于自定义验证的方法)。您如何使用指定的提交控件来规避验证(换句话说,使用某些提交输入触发验证,但不触发其他输入的验证)?这类似于具有标准 ASP.NET 验证器控件的 ValidationGroups。

我的情况:

它与 ASP.NET WebForms 一起使用,但如果您愿意,可以忽略它。但是,我将验证更多地用作“推荐”:换句话说,当提交表单时,验证会触发,但不会显示“必需”消息,而是“推荐”显示沿着“你错过了以下字段……您是否仍要继续?”此时在错误容器中有另一个提交按钮现在可见,可以按下它会忽略验证并无论如何提交。如何绕过此按钮控件的表单 .validate() 并仍然发布?

房子买卖样本在 http://jquery.bassistance.de/validate/demo/multipart/允许这样做是为了点击前面的链接,但它是通过创建自定义方法并将其添加到验证器来实现的。我宁愿不必创建自定义方法来复制验证插件中已有的功能。

以下是我现在获得的立即适用脚本的简化版本:

var container = $("#<%= Form.ClientID %> div.validationSuggestion");

$('#<%= Form.ClientID %>').validate({
errorContainer: container,
errorLabelContainer: $("ul",container),
rules: {
<%= YesNo.UniqueID %>: { required: true },
<%= ShortText.UniqueID %>: { required: true } // etc.

},
messages: {
<%= YesNo.UniqueID %>: 'A message.',
<%= ShortText.UniqueID %>: 'Another message.' // etc.
},
highlight: function(element, errorClass) {
$(element).addClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").removeClass("valid");
},
unhighlight: function(element, errorClass) {
$(element).removeClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").addClass("valid");
},
wrapper: 'li'
});

最佳答案

您可以将 cancel 的 CSS 类添加到提交按钮以抑制验证

例如

<input class="cancel" type="submit" value="Save" />

请在此处查看此功能的 jQuery Validator 文档:Skipping validation on submit


编辑:

上述技术已被弃用并替换为 formnovalidate 属性。

<input formnovalidate="formnovalidate" type="submit" value="Save" />

关于jQuery 验证插件 : disable validation for specified submit buttons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/203844/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com