JQuery Tools validator bug on form elment dynamic growth

746 Views Asked by At
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"
        };
    });

});

As you can see above mention Code block $('#addressInfo div.links .add').live('click',function() definition. I call a destruct for validator than construct so that it can take my optional fields block of Address Info section which grow by simply clicking a plus sign anchor against each block). Than after above mention step i even call my own rule check function to be associate with validator to validate my desire fields. Please help me with regards to it. Thanks

1

There are 1 best solutions below

0
On

I call a validator constructor to reinitialize everything..