Question

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;
}
Was it helpful?

Solution

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:

$("[name='yourfieldname']").rules("add", { namecheck: true })

or

<input type="text" class="required namecheck" name="yourfieldname" />

OTHER TIPS

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.

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.

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow