2013-03-27 3 views
0

J'utilise jQuery Validation Plugin 1.8.1 pour une validation, mon problème est son fonctionnement pas correctementplugin validation jquery ne fonctionne pas bien

dans ce code html

<input name="Mobile" type="text" class="Input" id="Mobile" placeholder="Type your mobile number" value="<?php echo $activeUser->getMobile();?>" required="true" number="true" /> 

required="true" fonctionne bien, mais number="true" ne fonctionne pas

s'il vous plaît aidez-moi à résoudre ce grâce

+0

quel plugin utilisez-vous? Pouvez-vous donner une URL à la page de projet du plugin? – Natrium

+0

Veuillez fournir des informations sur le plugin – Horst

+0

Utilisez-vous http://jquery.bassistance.de/validate/demo/ plugin? – Shin

Répondre

0

Votre code HTML est pris pour la validation HTML 5 ...

<input name="Mobile" type="text" class="Input" id="Mobile" 
placeholder="Type your mobile number" value="" required="true" number="true" /> 

Ce serait pas un problème pour une version plus à jour (comme 1.11.0) du plugin jQuery Valider .

DEMO travail: http://jsfiddle.net/5rPGv/2/

Cependant, votre même code est cassé lorsque vous utilisez la version 1.8.0 du plugin jQuery Valider.

brisé: http://jsfiddle.net/5rPGv/1/


Pour corriger votre code, vous n'avez deux options:

1) Mettre à jour le plugin jQuery Valider pour une version ultérieure.

OU

2) Déclarez vos règles au sein .validate(), avec une version. http://jsfiddle.net/5rPGv/3/

$(document).ready(function() { 

    $('#myform').validate({ 
     rules: { 
      Mobile: { 
       required: true, 
       number: true 
      } 
     } 
    }); 

}); 
0

Ajouter additional-methods.js dans votre page. Vous devriez avoir la méthode de validation mobileUK ou. Essayez d'utiliser:

<input name="Mobile" type="text" class="Input" id="Mobile" placeholder="Type your mobile number" value="<?php echo $activeUser->getMobile();?>" required="true" mobileUK="true" /> 

EDIT

Si la version html ne fonctionne pas essayer de régler cela avec JS:

$("#myform").validate({ 
    rules: { 
    field: { 
     required: true, 
     mobileUK: true 
    } 
    } 
}); 

Vous pouvez créer votre propre type de validation. Exemple: http://docs.jquery.com/Plugins/Validation/CustomMethods/phoneUS

jQuery.validator.addMethod("phoneUS", function(phone_number, element) { 
    phone_number = phone_number.replace(/\s+/g, ""); 
    return this.optional(element) || phone_number.length > 9 && 
     phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/); 
}, "Please specify a valid phone number"); 

$("#myform").validate({ 
    rules: { 
    field: { 
     required: true, 
     phoneUS: true 
    } 
    } 
}); 
Questions connexes