I am attempting to validate a form that contains fields with name attributes containing square brackets []. It's a requirement that I cannot change the name attribute to something else, and it just seems messy trying to validate via ID or ClassName..
How would I go about validating the w as the following example? As of now it does not work (makes my entire page completely dissappear due to an error.
$("#loginForm").validate({
    rules: {
        login[username]: {
            required: true,
            email: true
        }
    },
    messages: {
        login[username]: {
            required: "Please provide an email",
            email: "Please enter a valid email address"
        }
    }
});
                using login[username] inside a javascript object is not valid syntax. Use quotes around it to make it valid "login[username]"
Perhaps you could do something like this instead...
HTML:
<input type="text" name="login[username]" class="myRule" />
jQuery:
$(document).ready(function() {
    $('.myRule').rules('add', {
        required: true,
        email: true,
        messages: {
            required: "Please provide an email",
            email: "Please enter a valid email address"
        }
    });
});
Alternatively, you do not need to add or use classes, just use the proper selector to target the appropriate input element.
$(document).ready(function() {
    $('input[name=login\\[username\\]]').rules('add', {
        required: true,
        email: true,
        messages: {
            required: "Please provide an email",
            email: "Please enter a valid email address"
        }
    });
});
http://docs.jquery.com/Plugins/Validation/rules
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With