I can't see anything obviously wrong with your code. Could you post a testpage?
Jörn On Wed, Aug 20, 2008 at 10:16 PM, zaroundus <[EMAIL PROTECTED]> wrote: > > I am using the Validate plugin from > http://bassistance.de/jquery-plugins/jquery-plugin-validation/. > It is a great plugin but I'm having one little problem that is driving > me mad. I have a form that I am validating. The problem is, if you > don't type anything into the username or password input and submit > them empty the default message shows and my logs never get output. If > I do type anything into those inputs the methods fire perfectly. It > seems to be something with if you leave the value empty but I have no > idea where to turn. Here is the code I'm using: > > Javascript: > [code] > //Add methods and rules to jquery.validate > > //username validation > $.validator.addMethod("username",function(value, > element) { > var charTest = value.match(/[A-Za-z0-9]/); > var currLen = value.length; > if (charTest && currLen >= 8 && currLen <= 16) > { > console.log("Username Match > successful!"); > return true; > } else { > console.log("Username Match > unsuccessful"); > return false; > } > },"Username must be between 8 - 16 characters and > cannot contain > punctuation."); > > //password validation > $.validator.addMethod("pwd", function(value, element) { > var charTest = value.match(/[A-Za-z0-9]/); > var currLen = value.length; > if (charTest && currLen >= 8 && currLen <= 12) > { > console.log("Password Match > successful!"); > return true; > } else { > console.log("Password unsuccessful"); > return false; > } > },"Password must be between 8 - 12 characters and > cannot contain > punctuation."); > > //Adds class rules for methods added above > $.validator.addClassRules({ > username: {required:true}, > pwd: {required:true} > }); > > $(function() { > //validates sign-up form > $("#uRegForm").validate({ > debug:true, > onkeyup:false,onclick:false,onfocusout:false, > errorContainer: '#formErrors, #notice', > errorLabelContainer: "#formErrors ul", > wrapper: 'li', > rules: { > username: { > username: true, > minlength:1 > }, > pwd: "pwd", > fName: { > required:true, > minlength:3 > }, > email: { > required: true, > email: true > }, > stAddr:"required", > city:"required" > }, > messages: { > fName: "Please enter your full name.", > email: "Your email address must be in > the form [EMAIL PROTECTED]", > stAddr: "Please enter your street > address.", > city: "Please enter your city" > }, > showErrors:function(errorMap, errorList) { > $("#notice").fadeIn(); > this.defaultShowErrors(); > } > }); > }); > [/code] > > Here is the HTML for my form: > [code] > <div id="notice">There was a problem with your submission. See list > below the form for details.</div> > <form id="uRegForm" action="" method="POST"> > <fieldset> > <legend>Complete the form to register</legend> > <label for="username">Username: (8-16 > characters) </label> > <input type="text" id="username" > name="username" class="required > username" /><br /> > <label for="pwd">Password: (8 - 12 characters) > </label> > <input type="password" id="pwd" name="pwd" > class="required > password" /><br /> > <label for="fName">Full Name: </label> > <input type="text" id="fName" name="fName" > class="required" /><br / >> > <label for="email">Email: </label> > <input type="text" id="email" name="email" > class="required email" / >><br /> > <label for="stAddr">Street Address: </label> > <input type="text" id="stAddr" name="stAddr" > class="required" / >><br /> > <label for="city">City: </label> > <input type="text" id="city" name="city" > class="required" /> > <label for="state">State: (if > applicable)</label> > <select id="state" name="state" size="1"> > <option value="0">Choose a > state</option> > <? > foreach($states as $sKey => $sVal) { > echo '<option value="'.$sKey.'">'.$sVal.'</option>'; > } > ?> > </select><br /> > <label for="country">Country: </label> > <select id="country" name="country"> > <option value="0">Choose your > country</option> > <? > foreach($countries as $cKey => $cVal) { > echo '<option value="'.$cKey.'">'.$cVal.'</option>'; > } > ?> > </select><br /> > </fieldset> > <input type="submit" id="uRegSub" name="uRegSub" > value="Register" / >> <input type="reset" value="Clear Form" /> > </form> > <div id="formErrors"> > <ul></ul> > </div> > [/code] > > Hope someone can help me figure out how to call my added methods if > input is empty. >