2010-07-27 6 views
-2

J'utilise la fonction maxlength du plugin jquery.validate.js pour valider mon numéro de mobile. comme suitProblème avec la validation Maxlength de jquery

txtMobileNo: {

  number : true, 
      minlength: 10, 
      maxlength: 12 
}, 

et dans la description de MySQL de ce champ est comme suit ...

mobile_no int (11)

quand j'entrer un numéro de téléphone portable valide, il stocker seulement cette valeur "2147483647" ..

+0

Comment appelez-vous "un numéro de mobile valide"? Cela dépend de votre pays ... En France c'est 06XXXXXXXX avec des chiffres comme X –

+0

Il me semble qu'il stocke un numéro de téléphone valide, voulez-vous que jquery ne supprime pas les espaces vides ou les tirets du numéro de téléphone? – scripni

+0

je veux dire si je stocke n'importe quel numéro de mobile dans le format indien comme 9555437988, 9873485698 mais il stocke seulement 2147483647 dans la base de données. pourrait être de cette expression régulière dans jquery.validate.js. // maxlength peut être retourné comme -1, 2147483647 (IE) et 524288 (Safari) pour les entrées de texte \t \t si (rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength)) { \t \t \t delete rules.maxlength; \t \t} \t \t \t \t règles de retour; Maintenant, ma question est de savoir comment pourrais-je lui permettre de stocker Formet indien numéro de portable ??? – user380979

Répondre

1

Il ne semble pas que le problème est avec votre validation, mais plutôt votre code actuel pour stocker une valeur dans la base de données. Supprimez la validation jQuery. Essaye encore. Je parie que vous avez toujours la même erreur.

2147483647 est la valeur maximale d'un entier signé de 32 bits. Si vous essayez de stocker des numéros mobiles longs de 10 à 12 chiffres dans un champ entier signé de 32 bits, vous allez presque toujours déborder.

Vous devriez presque certainement utiliser varchar (12) ou quelque chose comme ça pour la représentation de votre base de données.

+0

Thx Carson63000 pour rpying. ya c'est le problème du débordement. J'ai changé le type de données et maintenant il fonctionne bien. Merci encore. – user380979

0

Je suis d'accord avec @ Carson63000, bien qu'un numéro de téléphone soit composé de chiffres, il n'a pas de valeur numérique (par exemple, essayez de stocker un nombre commençant par 0), donc vous devriez garder le numéro avec sa représentation Plus précisément, varchar ou même char s'ils ont une longueur fixe.

Questions connexes