gpt4 book ai didi

jquery - 禁用特定字段的 jquery.validate 功能

转载 作者:行者123 更新时间:2023-12-01 07:15:11 25 4
gpt4 key购买 nike

我正在使用 jquery.validate 在提交到服务器之前在客户端验证一些输入字段。效果很好!这组特定的字段出现在模态中,页面上还有另外两个模态,根据用户单击的内容在不同时间弹出;但是,我的验证仅针对其中一个模式,即使该模式不在屏幕上,它也会阻止我的服务器端提交。

下面是我在 .js 中用于模态处理的代码,我想要抑制的是“modalChgPass”。

(function (window) {
var
$ = window.jQuery,
modalEdit = '#modal-preferences-edit',
modalPreferencesEditOpts = {
autoOpen: true,
modal: true,
resizable: false,
draggable: false,
width: '700',
height: '670',
dialogClass: 'modal',
appendTo: 'form',
close: function () { $(this).dialog('destroy'); }
};



modalChgPass = '#modal-password-change',
modalPasswordChangeOpts = {
autoOpen: true,
modal: true,
resizable: false,
draggable: false,
width: '450',
height: '550',
dialogClass: 'modal',
appendTo: 'form',
close: function () { $(this).dialog('destroy'); }
};


modalActive = '#modal-card-activate',
modalCardActivateOpts = {
autoOpen: true,
modal: true,
resizable: false,
draggable: false,
width: '700',
height: '265',
dialogClass: 'modal',
appendTo: 'form',
close: function() { $(this).dialog('destroy'); }
};



$(document).ready(function () {
$('#btn-modal-password-change').click(function () {
$(modalChgPass).dialog(modalPasswordChangeOpts);
$(modalChgPass).dialog('open');
$('.ui-widget-overlay').click(function () {
$('.ui-dialog-content').dialog('close');
});
return false;
});

$('#chg-Password-btn').click(function () {
$(modalChgPass).dialog(modalPasswordChangeOpts);
$(modalChgPass).dialog('open');
$('.ui-widget-overlay').click(function () {
$('.ui-dialog-content').dialog('close');
});
return false;
});

$('#btn-modal-card-activate').click(function () {
$(modalActive).dialog(modalCardActivateOpts);
$(modalActive).dialog('open');
$('.ui-widget-overlay').click(function () {
$('.ui-dialog-content').dialog('close');
});
return false;
});

$('#btn-modal-preferences-edit').click(function () {
$(modalEdit).dialog(modalPreferencesEditOpts);
$(modalEdit).dialog('open');
$('.ui-widget-overlay').click(function () {
$('.ui-dialog-content').dialog('close');
});
return false;
});

});


window.RCC = window.RCC || {};
})(window);

这是经过验证的 .js:

var $ = jQuery;
$.validator.addMethod('mypassword', function (value, element) {
return this.optional(element) || (value.match(/[a-zA-Z]/) && value.match(/[0-9]/));
},
'Password must contain at least one number.');



$(document).ready(function () {
$("#form1").validate({
rules: {
ChgPass$CurrentPass: {
required: true
},
ChgPass$NewPass: {
required: true,
minlength: 8,
maxlength: 16,
mypassword: true

},
ChgPass$ConfirmPass: {
equalTo: "#ChgPass_NewPass"
}
}

});
});

如何禁用“modalChgPass”以允许“modalActive”和“modalEdit”处理?预先感谢您的帮助。问候,

最佳答案

可能做你想做的事情的最好方法是使用插件的忽略选项。检查这个link如果这就是你的意图

编辑 1

也许是这样的:

迭代您要禁用的模式的函数。

当您显示主模式以禁用/启用其他模式时,将调用此函数

     function TogglePanelValidation (panel, enabled) {

panel.find("input, select").each(function () {
var thisobj = $(this);

if (!enabled) {
$(this).addClass('ignore').removeClass('yourinput class');

} else {
if ($this.hasClass('ignore')) {
$this.removeClass('ignore').addClass('yourinput class')
}
}
});
}

关于jquery - 禁用特定字段的 jquery.validate 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19848060/

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