Mon script jette des erreurs:
TypeError: jQuery.validator n'est pas défini. Additional-methods.js: 20 TypeError: $ (...). Validate n'est pas une fonction index.php: 115
J'ai probablement une erreur dans le code jQuery.
<head>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>
</head>
<body>
<form id="registerForm" method="post" action="logrej.php">
<input name="login" type="text"/>
<input name="nick" type="text"/>
<input type="password" id="passw" name="password"/>
<input type="password" name="retype" />
<input type="submit" value="Zarejestruj!" />
</form>
<script>
$("#registerForm").validate({
rules: {
login: {
required:true,
rangelenght: [4,20],
remote:"look.php"
},
nick : {
required:true,
rangelenght:[4,20],
remote:"look.php"
},
password: {
required:true,
rangelenght:[4.20]
},
retype: {
required:true,
equalTo:"#passw"
}
},
messages:{
login:{
required:"To pole jest wymagane!"
}
}
})
</script>
Vous ne chargez pas le plugin de validation. Vous avez besoin:
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
Placez ceci avant la ligne qui charge les méthodes supplémentaires.
En outre, vous devriez également obtenir les méthodes supplémentaires auprès du CDN, plutôt que jquery.bassistance.de.
Autres erreurs:
[4.20]
devrait être
[4,20]
et
rangelenght:
devrait être:
rangelength:
Pour moi, problème résolu en changeant http: // ajax ... en https: // ajax ... (ajouter un S à http)
https://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js
Incluez jquery.validate.js avant additional-methods.js
.
La méthode $.validate()
y est définie
Il semble que l'erreur JavaScript que vous obtenez est probablement causée par
password: {
required:true,
rangelenght:[4.20]
},
Comme le [4.20]
devrait être [4,20]
, qui, je suppose, jette le code de validation dans additional-methods
donnant donc le type d'erreur que vous avez posté.
Edit: Comme d’autres l’ont noté dans les commentaires ci-dessous, rangelenght
est également mal orthographié & jquery.validate.js
La bibliothèque semble être manquante (en supposant qu'elle ne soit pas compilée dans l'un de vos autres éléments).
J'ai eu le même problème. J'utilise jquery-validation en tant que module npm et le correctif pour moi était d'exiger le module au début de mon fichier js:
require('jquery-validation');
Vous n'avez pas inclus la bibliothèque de base de validation jQuery:
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js"></script>
Mettez cela avant la bibliothèque de méthodes supplémentaires. (BTW c'est une version hébergée, téléchargez la vôtre si vous le souhaitez)