jQuery: sincronizzare le routine di validazione dei form

I Deferred Object di jQuery possono anche essere usati per sincronizzare le routine della validazione dei form.

Un esempio potrebbe essere il seguente:


(function( $ ) {
	
	// Restituisce un valore booleano
	
	function validate( value ) {
		return /^[a-z0-9]+$/.test( value );
	}
	
	
	
  $( document ).ready(function() {
	
	$( "#username" ).on( "keyup", function() {
        var $input = $( this );
		var val = $input.val();

        $input.removeClass( "is-invalid" );
		
		
		$.when( validate( val ) ).done( function( def ) {
			// def contiene il valore booleano della validazione
			if( !def ) {
                $input.addClass( "is-invalid" );
			}
		});
	});
	
  });

})( jQuery );

Torna su