6

Does anyone know how to create the rules for the jquery form validate plugin when you have a name attribute that is an array?

eg.

<form id="myForm">
<input type="checkbox" name="data[]" id="firstId" value="1" />One <br />
<input type="checkbox" name="data[]" id="secondId" value="2" />One <br />

<script type="text/javascript">
    $('#myform').validate({
        rules: {
            data: {
                required: true, minlength: 1
            }
        }
    });
</script>

Problem is that the 'data' syntax is incorrect. Using data[] or data\[\] is also invalid. I've only gotten it to work with

$('#firstId').rules('add', { required: true, minlength: 1});

Anyone have a suggestion?

2 Answers 2

12

You need to wrap the name of the input (in this case data[]) in quotes

$('#myform').validate({
  rules : {
    'data[]': { required: true, minlength: 1 }
  }
});

see the documentation here for Field with complex names (Brackets Dots): http://docs.jquery.com/Plugins/Validation/Reference#Fields_with_complex_names_.28brackets.2C_dots.29

Sign up to request clarification or add additional context in comments.

Comments

1

Have you tried:

$('#myform').validate({
  rules : {
    'data[]': { required: true, minlength: 1 
    }
  }
}
);

I don't know if it will work, give it a shot.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.