2010-09-23 4 views
0

J'ai ceci:jQuery regex, à distance avec la validation

<script type="text/javascript"> 

jQuery().ready(function() { 

    // validate signup form on keyup and submit 
    jQuery("#regform").validate({ 
     rules: { 
      NickName: { 
       required: true, 
       minlength: 2, 
       remote : "user_availability.php", 
      }, 
     }, 
     messages: { 
      NickName:{ 
         required: "<br>Please enter your username", 
         minlength : "<br>Your username must be at least 2 characters long", 
         remote: "<br>This username is not available, please try another" 
        } 
     } 
    }); 
}); 
</script> 

Lorsque je tente d'ajouter des exemples de regex addMethod trouvés ici, il ne fonctionnera pas

ce que j'ai essayé:

<script type="text/javascript"> 

jQuery().ready(function() { 

jQuery.validator.addMethod(
     "regex", 
     function(value, element, regexp) { 
      var check = false; 
      var re = new RegExp(regexp); 
      return this.optional(element) || re.test(value); 
     }, 
     "Please check your input." 
); 



    // validate signup form on keyup and submit 
    jQuery("#regform").validate({ 
     rules: { 
      NickName: { 
       required: true, 
       minlength: 2, 
       remote : "user_availability.php", 
       regex: "^[a-zA-Z'.\s]{1,40}$", 
      }, 
     }, 
     messages: { 
      NickName:{ 
        required: "<br>Please enter your username", 
        minlength : "<br>Your username must be at least 2 characters long", 
        remote: "<br>This username is not available, please try another" 
        regex: "Invalid Character", 
        }  
     } 
    }); 
}); 
</script> 

s'il vous plaît aider

+1

Un message d'erreur s'affiche-t-il? – Cfreak

+0

vérifiez votre console/débogueur. – RobertPitt

Répondre

0

Votre manque un ,

remote: "<br>This username is not available, please try another" <<<<< 

et vous ne avez pas besoin d'un '' le dernier élément de vos objets:

NickName: { 
       required: true, 
       minlength: 2, 
       remote : "user_availability.php", 
       regex: "^[a-zA-Z'.\s]{1,40}$", 
      }, <<<<<<< 

Personnellement je ferais tout le penser beaucoup plus propre

var ValidationObject = { 
    rules: { 
     NickName: { 
      required: true, 
      minlength: 2, 
      remote : "user_availability.php", 
      regex: "^[a-zA-Z'.\s]{1,40}$", 
     } 
    }, 
    messages: { 
     NickName:{ 
      required: "<br>Please enter your username", 
      minlength : "<br>Your username must be at least 2 characters long", 
      remote: "<br>This username is not available, please try another", 
      regex: "Invalid Character", 
     } 
    } 
} 

Alors utilisez comme ça:

jQuery("#regform").validate(ValidationObject); 
Questions connexes