Problemi con validatore jQueryValidation
- Questo topic ha 7 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 8 anni, 10 mesi fa da
jqueryitalia.
- AutorePost
- 4 Settembre 2014 alle 16:00 #6334
Francesco Celebrin
PartecipanteBuon Giorno per usare il Plug in VALIDATION sapreste indicarmi cosa devo scaricare? Possibilmente i file strettamente necessari ed i loro link.
Grazie
6 Settembre 2014 alle 11:24 #6336jqueryitalia
AmministratoreCiao Francesco.
Suppongo tu stia parlando di questo http://jqueryvalidation.org/.
In realtà non ti servirebbe scaricare nulla, in quanto puoi utilizzare la CDN Microsoft, come descritto proprio nella sezione dedicata del sito di cui sopra. 😉13 Settembre 2014 alle 09:47 #6347Francesco Celebrin
PartecipanteVolevo per prima cosa ringraziarVi per la celere risposta,purtroppo mi duole porgere domanda su problematiche che probabilmente possono sembrare scontate ma mi sono impantanato su di un punto che non riesco a risolvere, spero in un vs aiuto:
la rules remote non mi funziona, in effetti ho impostato la rules in tal maniera:
$("#form_new_client2").validate( { errorLabelContainer:$("#errori"), rules:{ 'nick_new':{ required: true, minlength: 8,maxlength: 30, nick_regex1: true, remote:{ url: "validatore_jQuery.php", type: "post"} },
mentre il file validatore_jQuery è cosi istruito:
<?php // connessione al db require 'a250.php'; // funzione per verificare l'esistenza dell'username $_varnic = $_POST['nick_new']; $sql= "SELECT user_nick FROM utente WHERE user_nick = '$_varnic'"; $risultato = mysql_query($sql); $conto = mysql_num_rows($risultato); $valore =($conto >= 1) ? 'true' : 'false'; echo $valore; ?>
Bene anzi male in quanto i controlli required, minlength ecc funzionano ma la remote no.
Insomma la mia domanda e’ come viene inviata la variabile dall’ script al file php?
premetto che il file php fatto giarare autonomamente funziona perfettamente.
Grazie in ogni caso.
17 Settembre 2014 alle 01:33 #6351jqueryitalia
AmministratorePer prima cosa, Francesco, ti chiedo cortesemente di seguire le istruzioni descritte nelle REGOLE DEL FORUM quando inserisci pezzi di codice nei tuuoi post.
Credo che tu stia sbagliando qualcosa quando imposti la rule remote: infatti manca il valore del dato da validare passato in post.
La chiamata corretta dovrebbe essere scritta in questo modo:$( "#myform" ).validate({ rules: { email: { required: true, email: true, remote: { url: "check-email.php", type: "post", data: { username: function() { return $( "#username" ).val(); } } } } } });
ed io nella tua funzione non vedo il valore ‘data’ all’interno della remote…
17 Settembre 2014 alle 11:29 #6357Francesco Celebrin
PartecipanteIn primis voglio ringraziare Keymaster per la risposta scusandomi con la poca praticità del form,purtotppo non sono venuto a capo del problema quindi posto il codice incriminato nelle rule ho inserito nell’opzione remote coamda tuo suggerimento sostituendo al tuo “username” il nome del campo user nem mio caso “nick_new”.
$("#form_new_client2").validate({ errorLabelContainer: $("#errori"), rules: { 'nick_new': { required: true, minlength: 8, maxlength: 30, nick_regex1: true, remote: { url: "validatore_jQuery.php", type: "post", data: { nick_new: function () { return $("#nick_new").val(); } } } } }, 'mail_new': { required: true, email: true, minlength: 10, maxlength: 60, mail_regex: true }, 'mail_new_re': { equalTo: '#mail_new' }, 'password_new': { required: true, minlength: 8, maxlength: 30, pwd_regex: true }, 'password_new_re': { equalTo: '#password_new' }, 'invalidHandler': function () { alert("I dati non sono stati inseriti correttamente.Controllali<br/>"); } }, messages: { 'nick_new': { required: "* NICK * Il campo username è obbligatorio! <br/>", minlength: "* NICK * Min 8 caratteri <br/>", maxlength: "* Max 30 caratteri! <br/>", nick_regex1: "* NICK * Puoi immetere solo caratteri alfa numerici maiuscoli o minuscoli<br/>", remote: "Nick esistente<br/>" }, 'mail_new': { required: "* MAIL *Il campo email è obbligatorio!<br/>", email: "* MAIL *Inserisci un valido indirizzo email!<br/>", minlength: "* MAIL *Mini 10 caratteri <br/>", maxlength: "* MAIL *Max 60 caratteri <br>/", mail_regex: "* MAIL * Non sono ammessi caratteri maiuscoli <br/>" }, 'mail_new_re': { equalTo: "* MAIL *Le due mail non coincidono!<br/>" }, 'password_new': { required: "* PASSWORD * Il campo password è obbligatorio!<br/>", minlength: "* PASSWORD * Inserisci una password di almeno 8 caratteri!<br/>", pwd_regex: "* PASSWORD * La password deve comprendere caratteri Alfanumerici Maiuscoli e minuscoli <br/>", maxlength: "* PASSWORD * Max 30 caratteri <br>/", pwd_regex1: "* PASSWORD * Puoi immetere solo caratteri alfa-numerici maiuscoli o minuscoli<br/>" }, 'password_new_re': { equalTo: "* PASSWORD * Le due password non coincidono!<br/>" } } }); });
Ti posto di seguito anche il codice dello script php richiamato da remote:
<?php // connessione al db require 'a250.php'; function isset_username($nick_new){ $_valore_nick = trim($nick_new); $query = "SELECT user_nick AS num FROM utente WHERE user_nick='" .mysql_real_escape_string($_valore_nick). "'"; $result = mysql_query($query) or die(mysql_error()); $row = mysql_fetch_array($result); if($row['num']>=1){ return TRUE; // true se utente esiste } else { return FALSE; } } if(isset($_POST['nick_new'])){ if(!isset_username($_POST['nick_new'])){ echo 'true'; } else { echo 'false'; } } ?>
penso che il problema nasca da qui in quanto il voalo della funzione l’ho valorizzato con una variabile cha ha lo stesso nome dell campo nicK.Spero di essere stato esaustivo.Cma scusa se mi ripeto penso che ora il problema sia nello script php.
Grazia
24 Novembre 2014 alle 09:39 #6505Francesco Celebrin
PartecipanteBuon giorno, la mia problematica è causa dal plugin autocomplete.
Nella sostanza quando questi entra in azione mi compare la scritta “no surch result”, quindi deduco che non abbia trovato i dati che cercavo.
Preciso che il cocidce php pèreso da parte assolve al suo compito.
Potreste delucidarmi?.
Grazie
Ps cposto il codice php e quello jq
24 Novembre 2014 alle 09:41 #6506Francesco Celebrin
PartecipanteCodice PHP:
<?php require 'a250.php'; $row_array=array(); $vedi_citta = $_GET['term']; $query = "SELECT ctt_vot as valore FROM voti where ctt_vot LIKE '."$vedi_citta".%'"; $result = mysql_query($query); while($row="mysql_fetch_array($result)") { $row['valore']= htmlentities(stripslashes($row['valore'])); $row_array[]= $row['valore']; } echo json_encode($row_array); ?>
Codice JS:
$('#fild_ric_ctt').autocomplete({ source:'jq_auto_citta.php', minLength: 3, select: function(event,ui){ $('#fild_ric_ctt').val(ui.item.value); return false; } });
25 Novembre 2014 alle 00:54 #6508jqueryitalia
AmministratoreIl risultato del codice php deve essere un array del tipo:
$result = array( 0 => array("value" => "valore 0"), 1 => array("value" => "valore 1"), 2 => array("value" => "valore 2"), ... ... n => array("value" => "valore n") );
del quale dovrai poi fare un json_encode 😉
Guardati le API di autocomplete con chiamata remote qui http://jqueryui.com/autocomplete/#remote
- AutorePost
- Devi essere connesso per rispondere a questo topic.