Следующий код выдает ошибку, если выполняются условия, но не удаляет класс ошибки, если исправлено.В основном, если вы проверяете «#MKDPT» и ни один в массиве не проверяется, покажите ошибку.Если какие-либо элементы массива проверены, удалите или не отображайте ошибку.
$.validator.addMethod('MKDPTOnly', function(value, element) {
var ckd = ['AMX1N','BMFNP','BMFNB','CFE1N','CBEXR','CBT1','CBTQL','CME1','CMEQL','CMX1','DCMX1','DMERT','DMEDL','ERX1N','ERXXN','EXC1N','EXD1N','EXR1N','EXI1N','IPE1','KCB1','LME1','DLME1','MPL1','NDQ1N','NDQL2','CEC1','ICEFI','NYM1','DNYM1','NYMQL','NYS1N','NYSLM','PNK1P','PNK2N','SMX1', 'CNC1N','CNS1N','MTL1N','MTL2N','MTN1N','MTN2N','WEA1'];
var otherChecked = $('#' + ckd.join(',#')).filter(':checked').length > 0;
return !$(element).is(':checked') || otherChecked;
}, 'Market Depth ($20) is only required with a Real Time Exchange.');
******** EDIT ***********Теперь я могу удалить класс, сняв флажок #MKDPT, но, установив флажок в любой из переменных, ошибка не исчезает
$.validator.addMethod(
'MKDPTOnly',
function(value, element){
var ckd = ['AMX1N','BMFNP','BMFNB','CFE1N','CBEXR','CBT1','CBTQL','CME1','CMEQL','CMX1','DCMX1','DMERT','DMEDL','ERX1N','ERXXN','EXC1N','EXD1N','EXR1N','EXI1N','IPE1','KCB1','LME1','DLME1','MPL1','NDQ1N','NDQL2','CEC1','ICEFI','NYM1','DNYM1','NYMQL','NYS1N','NYSLM','PNK1P','PNK2N','SMX1', 'CNC1N','CNS1N','MTL1N','MTL2N','MTN1N','MTN2N','WEA1'];
if ($('#MKDPT').is(':checked') && $('#' + ckd.join(',#')).filter(':checked').length == 0) {
return false;
} else { return true; }
},'Market Depth ($20) is only required with a Real Time Exchange.');