ciao,
Gemini78 ha scritto:
Se scrivo: context.Request.Form non mi trova nessun controllo.
Grazie
sì, questo succede perché l'oggetto data è vuoto:
Quindi jQuery, nel preparare la richiesta ajax, non invia alcun valore al tuo HttpHandler non avendone trovato nessuno in quell'oggetto. Dovresti fare una cosa tipo:
data: {nomecampo: $("#nomecampo").val())},
type: "POST"
Ricorda anche che devi impostare il type a "POST", altrimenti jQuery effettuerà una richiesta di tipo GET. Dall'HttpHandler potrai recuperare il valore con Request.Form["nomecampo"].
Comunque, da qui già si capisce che realizzare una validazione in questo modo non è una cosa immediata. Devi inserire tutti i campi nell'oggetto data e se, oltre alla validazione server volessi offrirne anche una versione client, dovresti scrivere altrettanto codice javascript. Inoltre dovresti svilupparti una parte di codice che si occupi di visualizzare gli errori.
Potresti ottenere un buon risultato con molto meno lavoro se utilizzassi questo plugin di jQuery.
http://docs.jquery.com/Plugins/ValidationTra l'altro, è lo stesso che di solito si usa sviluppando applicazioni web con MVC3.
Ti fornisce una struttura per effettuare il controllo, sul client, delle più comuni
rules di validazione (required, minlength, email, ecc...) ma è anche in grado di preparare per te la richiesta ajax nel caso volessi far validare il campo al server (
rule chiamata
remote"). Ti visualizza anche gli eventuali
errori e tu devi soltanto predisporre delle <label class="error" come contenitori di tali messaggi.
Dagli un'occhiata, ciao!
Modificato da BrightSoul il 28 gennaio 2012 16.26 -