views:

116

answers:

3

I was wondering if someone could help me using the JQuery validation plugin. I need to add the ability to make sure that a field only contains letters, numbers, underscores, whitespacke, and dashes. I currently have the following js code (not including the call to jquery and the plugin .js files)

$(document).ready(function() {
$("#info_frm").validate();

});

function submitForm() {
    if( $("#info_frm").valid() ) {
        document.info_frm.submit();
    }
    return false;
}
A: 

Just use a regex method to validate your field:

$.validator.addMethod(
    "namecheck", function(value) {
        return /^[-_\sa-zA-Z0-9]*$/.test(value);
    }, "This name is not correct"
);

now you can add the rule:

$("yourfieldname").rules("add", { namecheck: true })

or

<input type="text" class="required namecheck" name="yourfieldname" />
RJD22
FYI: ("yourfieldname").rules("add", { namecheck: true }) lacks $ in it... should have been $("yourfieldname").rules("add", { namecheck: true })
Reigel
it doesn't look at the end. I tested the code ^^
RJD22
ah you mean that /me edits
RJD22
A: 

you could add a method depending on the what rules you want. for example:

$.validator.addMethod(
        "numeric", 
        function(value, element) {
            var regex=/^[0-9]+$/; //this is for numeric... you can do any regular expression you like...
            return this.optional(element) || regex.test(value);
        },
        "Only numeric please."
);

Try looking here for more info.

Reigel
A: 

Hey, check out my validation plugin, it allows for the following:

  • Required Field Validation
  • Regular Expression Validation
  • Email Validation
  • Numeric Validation
  • Conditional Validation

You can check it out here http://bit.ly/8Ky0o3.

REMEMBER Client side validation isn't enough. You must also validate on the server.

Jeremy