Subversion-Projekte lars-tiefland.faltradxxs.de

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

QUnit.module( "messages" );

QUnit.test( "predefined message not overwritten by addMethod( a, b, undefined )", function( assert ) {
        var message = "my custom message";
        $.validator.messages.custom = message;
        $.validator.addMethod( "custom", function() {} );
        assert.deepEqual( $.validator.messages.custom, message );
        delete $.validator.messages.custom;
        delete $.validator.methods.custom;
} );

QUnit.test( "group error messages", function( assert ) {
        $.validator.addClassRules( {
                requiredDateRange: { required: true, date: true, dateRange: true }
        } );

        $.validator.addMethod( "dateRange", function() {
                return new Date( $( "#fromDate" ).val() ) < new Date( $( "#toDate" ).val() );
        }, "Please specify a correct date range." );

        var form = $( "#dateRangeForm" );
        form.validate( {
                errorElement: "span",
                groups: {
                        dateRange: "fromDate toDate"
                },
                errorPlacement: function( error ) {
                        form.find( ".errorContainer" ).append( error );
                }
        } );

        assert.ok( !form.valid() );
        assert.equal( form.find( ".errorContainer *" ).length, 1 );
        assert.equal( form.find( ".errorContainer .error:not(input)" ).text(), "Please enter a valid date." );

        $( "#fromDate" ).val( "12/03/2006" );
        $( "#toDate" ).val( "12/01/2006" );
        assert.ok( !form.valid() );
        assert.equal( form.find( ".errorContainer .error:not(input)" ).text(), "Please specify a correct date range." );

        $( "#toDate" ).val( "12/04/2006" );
        assert.ok( form.valid() );
        assert.ok( form.find( ".errorContainer .error:not(input)" ).is( ":hidden" ) );
} );

QUnit.test( "read messages from metadata", function( assert ) {
        var form = $( "#testForm9" ),
                e, g;

        form.validate();
        e = $( "#testEmail9" );
        e.valid();
        assert.equal( form.find( "#testEmail9" ).next( ".error:not(input)" ).text(), "required" );
        e.val( "bla" ).valid();
        assert.equal( form.find( "#testEmail9" ).next( ".error:not(input)" ).text(), "email" );

        g = $( "#testGeneric9" );
        g.valid();
        assert.equal( form.find( "#testGeneric9" ).next( ".error:not(input)" ).text(), "generic" );
        g.val( "bla" ).valid();
        assert.equal( form.find( "#testGeneric9" ).next( ".error:not(input)" ).text(), "email" );
} );

QUnit.test( "read messages from metadata, with meta option specified, but no metadata in there", function( assert ) {
        var form = $( "#testForm1clean" );
        form.validate( {
                meta: "validate",
                rules: {
                        firstnamec: "required"
                }
        } );
        assert.ok( !form.valid(), "not valid" );
} );