function testOptionalFieldsValidation(el){
group = getGroup(el);
return validateGroup(group);
}
function getGroup(el){
return $(el).parents('.field');
}
function validateGroup(group){
var count = 0;
$(group).find("input[type!='hidden'], select").each(function(){
if( $(this).val() )
count++;
});
if($(group).find("input[type!='hidden'], select").length == count || count == 0)
return true;
else
return false;
}
$.tools.validator.fn(
$("#addressInfo .field select, #addressInfo .field input[type!='hidden']"),
"Please Complete this mandatory field",
function(el, v){
if( !testOptionalFieldsValidation(el) && ($(el).val().length == 0 ) )
return false;
else
return true;
}
);
$('#addressInfo div.links .add').live('click',function(){
$('form').data('validator').destroy();
$('form').validator().bind("onBeforeFail", function(e, els) {
els.css('border','1px solid #F00');
if (!els.is(':visible') ) {
els.css('border','1px solid #F00');
els.css('width', els.next().width());
els.css('top', els.next().position().top + 1);
els.css('left', els.next().position().left + 6);
els.css('visibility', 'hidden');
els.css('position', 'absolute');
els.css('display', 'block');
els.next().bind('blur', function() {
els.trigger('keyup');
});
}
});
$.tools.validator.fn(".select .required", function(input, value) {
return value.length >= 1 ? true : {
en: "Please select this Mandatory field"
};
});
});
Как вы можете видеть выше, упомяните блок кода $ ('# addressInfo div.links .add'). Live (определение 'click', function (). Я вызываю деструктор для валидатора, а не для построения, чтобы он могвозьмите мой блок необязательных полей в разделе «Информация об адресе», который увеличивается, просто нажав на знак «плюс» напротив каждого блока).После вышеупомянутого шага я даже вызываю свою собственную функцию проверки правил, чтобы связать ее с валидатором для проверки моих полей желаний.Пожалуйста, помогите мне с этим.Спасибо