Вход Регистрация
Файл: module-assets/admin/validation/test/rules.js
Строк: 246
<?php
module
("rules");

test("rules() - internal - input", function() {
    var 
element = $('#firstname');
    var 
= $('#testForm1').validate();
    
deepEqualelement.rules(), { requiredtrueminlength} );
});

test("rules(), ignore method:false", function() {
    var 
element = $('#firstnamec');
    var 
= $('#testForm1clean').validate({
        
rules: {
            
firstname: { requiredfalseminlength}
        }
    });
    
deepEqualelement.rules(), { minlength} );
});

test("rules() HTML5 required (no value)", function() {
    var 
element = $('#testForm11text1');
    var 
= $('#testForm11').validate();
    
deepEqualelement.rules(), { requiredtrue } );
});

test("rules() - internal - select", function() {
    var 
element = $('#meal');
    var 
= $('#testForm3').validate();
    
deepEqualelement.rules(), {requiredtrue} );
});

test("rules() - external", function() {
    var 
element = $('#text1');
    var 
= $('#form').validate({
        
rules: {
            
action: {datetruemin5}
        }
    });
    
deepEqualelement.rules(), {datetruemin5} );
});

test("rules() - external - complete form", function() {
    
expect(1);

    var 
methods = $.extend({}, $.validator.methods);
    var 
messages = $.extend({}, $.validator.messages);

    $.
validator.addMethod("verifyTest", function() {
        
oktrue"method executed" );
        return 
true;
    });
    var 
= $('#form').validate({
        
rules: {
            
action: {verifyTesttrue}
        }
    });
    
v.form();

    $.
validator.methods methods;
    $.
validator.messages messages;
});

test("rules() - internal - input", function() {
    var 
element = $('#form8input');
    var 
= $('#testForm8').validate();
    
deepEqualelement.rules(), {requiredtruenumbertruerangelength: [28]});
});

test("rules(), merge min/max to range, minlength/maxlength to rangelength", function() {
    
jQuery.validator.autoCreateRanges true;
    var 
= $("#testForm1clean").validate({
        
rules: {
            
firstname: {
                
min5,
                
max12
            
},
            
lastname: {
                
minlength2,
                
maxlength8
            
}
        }
    });
    
deepEqual( $("#firstnamec").rules(), {range: [512]});

    
deepEqual( $("#lastnamec").rules(), {rangelength: [28]} );
    
jQuery.validator.autoCreateRanges false;
});

test("rules(), guarantee that required is at front", function() {
    $(
"#testForm1").validate();
    var 
= $("#v2").validate();
    $(
"#subformRequired").validate();
    function 
flatRules(element) {
        var 
result = [];
        
jQuery.each($(element).rules(), function(keyvalue) { result.push(key); });
        return 
result.join(" ");
    }
    
equal"required minlength"flatRules("#firstname") );
    
equal"required minlength maxlength"flatRules("#v2-i6") );
    
equal"required maxlength"flatRules("#co_name") );

    
QUnit.reset();
    
jQuery.validator.autoCreateRanges true;
    
= $("#v2").validate();
    
equal"required rangelength"flatRules("#v2-i6") );

    $(
"#subformRequired").validate({
        
rules: {
            
co_name"required"
        
}
    });
    $(
"#co_name").removeClass();
    
equal"required maxlength"flatRules("#co_name") );
    
jQuery.validator.autoCreateRanges false;
});

test("rules(), evaluate dynamic parameters", function() {
    
expect(2);
    var 
= $("#testForm1clean").validate({
        
rules: {
            
firstname: {
                
min: function(element) {
                    
equal( $("#firstnamec")[0], element );
                    return 
12;
                }
            }
        }
    });
    
deepEqual( $("#firstnamec").rules(), {min:12});
});

test("rules(), class and attribute combinations", function() {

    $.
validator.addMethod("customMethod1", function() {
        return 
false;
    }, 
"");
    $.
validator.addMethod("customMethod2", function() {
        return 
false;
    }, 
"");
    var 
= $("#v2").validate({
        
rules: {
            
'v2-i7': {
                
requiredtrue,
                
minlength2,
                
customMethodtrue
            
}
        }
    });
    
deepEqual( $("#v2-i1").rules(), { requiredtrue });
    
deepEqual( $("#v2-i2").rules(), { requiredtrueemailtrue });
    
deepEqual( $("#v2-i3").rules(), { urltrue });
    
deepEqual( $("#v2-i4").rules(), { requiredtrueminlength});
    
deepEqual( $("#v2-i5").rules(), { requiredtrueminlength2maxlength5customMethod1"123" });
    
jQuery.validator.autoCreateRanges true;
    
deepEqual( $("#v2-i5").rules(), { requiredtruecustomMethod1"123"rangelength: [25] });
    
deepEqual( $("#v2-i6").rules(), { requiredtruecustomMethod2truerangelength: [25] });
    
jQuery.validator.autoCreateRanges false;
    
deepEqual( $("#v2-i7").rules(), { requiredtrueminlength2customMethodtrue });

    
delete $.validator.methods.customMethod1;
    
delete $.validator.messages.customMethod1;
    
delete $.validator.methods.customMethod2;
    
delete $.validator.messages.customMethod2;
});

test("rules(), dependency checks", function() {
    var 
= $("#testForm1clean").validate({
        
rules: {
            
firstname: {
                
min: {
                    
param5,
                    
depends: function(el) {
                        return (/^
a/).test($(el).val());
                    }
                }
            },
            
lastname: {
                
max: {
                    
param12
                
},
                
email: {
                    
depends: function() { return true; }
                }
            }
        }
    });

    var 
rules = $("#firstnamec").rules();
    
equal0v.objectLength(rules) );

    $(
"#firstnamec").val('ab');
    
deepEqual( $("#firstnamec").rules(), {min:5});

    
deepEqual( $("#lastnamec").rules(), {max:12email:true});
});

test("rules(), add and remove", function() {
    $.
validator.addMethod("customMethod1", function() {
        return 
false;
    }, 
"");
    $(
"#v2").validate();
    var 
removedAttrs = $("#v2-i5").removeClass("required").removeAttrs("minlength maxlength");
    
deepEqual( $("#v2-i5").rules(), { customMethod1"123" });

    $(
"#v2-i5").addClass("required").attr(removedAttrs);
    
deepEqual( $("#v2-i5").rules(), { requiredtrueminlength2maxlength5customMethod1"123" });

    $(
"#v2-i5").addClass("email").attr({min5});
    
deepEqual( $("#v2-i5").rules(), { requiredtrueemailtrueminlength2maxlength5min5customMethod1"123" });

    $(
"#v2-i5").removeClass("required email").removeAttrs("minlength maxlength customMethod1 min");
    
deepEqual( $("#v2-i5").rules(), {});

    
delete $.validator.methods.customMethod1;
    
delete $.validator.messages.customMethod1;
});

test("rules(), add and remove static rules", function() {
    var 
= $("#testForm1clean").validate({
        
rules: {
            
firstname"required date"
        
}
    });
    
deepEqual( $("#firstnamec").rules(), { requiredtruedatetrue } );

    $(
"#firstnamec").rules("remove""date");
    
deepEqual( $("#firstnamec").rules(), { requiredtrue } );
    $(
"#firstnamec").rules("add""email");
    
deepEqual( $("#firstnamec").rules(), { requiredtrueemailtrue } );

    $(
"#firstnamec").rules("remove""required");
    
deepEqual( $("#firstnamec").rules(), { emailtrue } );

    
deepEqual( $("#firstnamec").rules("remove"), { emailtrue } );
    
deepEqual( $("#firstnamec").rules(), { } );

    $(
"#firstnamec").rules("add""required email");
    
deepEqual( $("#firstnamec").rules(), { requiredtrueemailtrue } );


    
deepEqual( $("#lastnamec").rules(), {} );
    $(
"#lastnamec").rules("add""required");
    $(
"#lastnamec").rules("add", {
        
minlength2
    
});
    
deepEqual( $("#lastnamec").rules(), { requiredtrueminlength} );


    var 
removedRules = $("#lastnamec").rules("remove""required email");
    
deepEqual( $("#lastnamec").rules(), { minlength} );
    $(
"#lastnamec").rules("add"removedRules);
    
deepEqual( $("#lastnamec").rules(), { requiredtrueminlength} );
});

test("rules(), add messages", function() {
    $(
"#firstnamec").attr("title"null);
    var 
= $("#testForm1clean").validate({
        
rules: {
            
firstname"required"
        
}
    });
    $(
"#testForm1clean").valid();
    $(
"#firstnamec").valid();
    
deepEqualv.settings.messages.firstnameundefined );

    $(
"#firstnamec").rules("add", {
        
messages: {
            
required"required"
        
}
    });

    $(
"#firstnamec").valid();
    
deepEqualv.errorList[0] && v.errorList[0].message"required" );

    $(
"#firstnamec").val("test");
    $(
"#firstnamec").valid();
    
equal(v.errorList.length0);
});
?>
Онлайн: 3
Реклама