salve.
ho un altro problema che non riesco a risolvere.
io ho un form con diversi campi(img text textarea).
fino a ora inviavo il form in html normale e facevo la validazione con jquery in questo modo.


codice:
$(document).ready(function()
{
	// my method for validate username
	
		
	$("#form_annuncio").validate(
	{
        rules:{
		'tit':{
			required: true,
			maxlength: 80,
			
			},
		'categoria1':{
			required: true,
			},
		'categoria2':{
			required: true,
			},
		'categoria3':{
			required: true,
			},
		'condizione':{
			required: true,
			},
							
		'prezzo':{
			required: true,
			
			},
		'spedizionePrezzo':{
			required: true,
			
			}							
		
		},
        messages:{
		'tit':{
			required: "Il campo titolo e obbligatorio!",
			maxlength: "Puoi inserire massimo 80 caratteri"
			},
		'categoria1':{
			required: "Il campo categoria è obbligatorio!",
			},
		'categoria2':{
			required: "Il campo categoria è obbligatorio!",
			},
		'categoria3':{
			required: "Il campo categoria è obbligatorio!",
			},
		'condizione':{
			required: "Il campo condizione è obbligatorio!",
			},
							
		'prezzo':{
			required: "Il campo prezzo è obbligatorio!",
			
			},
		'spedizionePrezzo':{
			required: "Il campo prezzo spedizione è obbligatorio!",
			
			}			
		
		}
	});
});
ora vorrei inviare il form tramite jquery per mettere un immagine che dice attendere fine caricamento.

e avevo pensato di fare cosi:

codice:
$(document).ready(function(){
 $("#invio").click(function(){
			//To Display progress bar 
			
			
			
			
			$("#loading").show(); 
var dati = $("#form_annuncio").serialize(); //recupera tutti i valori del form automaticamente






 
//form invio dati post ajax
 
//questo alert potete levarlo, serve solo per farvi capire come vengono passati i dati
alert(dati);
 
//invio
$.ajax({
type: "POST",
url: "processing.php",
data: dati,
dataType: "html",
success: function(status){
					
					//To Hide progress bar 
					$("#loading").hide();
					alert(status);
					document.location.href="prova.php";
				  },
error: function()
{
alert("Chiamata fallita, si prega di riprovare...");
}
 
});//ajax
 
});//bottone click
});
codice:
<form name="form_annuncio" action="#" method="post" enctype="multipart/form-data" id="form_annuncio" >

<input type="text" name="tit" size="70" class="margine_sinistra_errori"  />
.........
<input type="bottom" id="invio" value="invia"/>
</form>

se invio il form con un submit normale in html il controllo funziona

mentre se faccio l'invio tramite jquery/ajax
mi invia i dati anche se non ho compilato niente,
l'invio non viene bloccato dalla validazione.

come posso fare ?
grazie