Allora, scusate per il titolo molto spartano, ma sul serio, il mio form si valida quando gli pare.
Ecco il codice:
ed ecco la parte html:codice:var dialogbox = $('div.dialogbox'); dialog(valid); $(document).ready(function() { $('.login_form').validate({ onfocusout: false, onkeyup: false, onclick: false, errorContainer: '.dialogbox', errorLabelContainer: '.dialogbox ul', wrapper: 'li', rules: { username: { required: true, alphanumeric: true }, password: 'required' }, messages: { username: { required: 'Devi inserire un username', alphanumeric: 'Nell\'username sono ammessi solo lettere, numeri e trattini bassi(_)' }, password: 'Devi inserire una password' }, showErrors: function(errorMap, errorList) { $(".dialogbox").text(this.defaultShowErrors()).hide(0); dialog(0); } }); }); function dialog(valid) { if(valid == 0) { $(dialogbox).attr('class', 'dialogbox error'); $(dialogbox).slideDown('fast'); } else if(valid == 1) { $(dialogbox).attr('class', 'dialogbox good'); $(dialogbox).slideDown('fast'); } }
In pratica, se non inserisco niente, mi mostra sia che non ho inserito username che non ho inserito la password, invece, se inserisco SOLO l'username, mi invia il form! Aiutatemi...codice:<div class="dialogbox"> <ul><?=$dialog['msg'];?>[/list] </div> <form class="login_form" action="./?c=login" method="POST"> <table> <tbody> <tr> <td> <label for="username">Username</label> </td> <td> <input required="required" name="username" autocomplete="off" placeholder="Il tuo username" type="text"/> </td> </tr> <tr> <td> Password </td> <td> <input required="required" name="password" autocomplete="off" placeholder="La tua password" type="password"/> </td> </tr> <tr> <td class="submit" colspan="2"> <button type="submit" class="button"> Login </button> </td> </tr> </tbody> </table> </form> <script type="text/javascript"> var valid = <?=$dialog['valid'];?>; </script>
Neanche su JSBin JSFiddle me lo fa andare...non so che fare...
Aggiungo anche che nella gestione dei dati, mi da che il campo "password" è:
string(0) ""
Il che è strano, dal momento che non lo dovrebbe neanche riconoscere come stringa, ma NULL o undefined...

Rispondi quotando
