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.
>

Reply via email to