Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you create rules for jquery form validate plugin with names that are arrays?

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?

like image 212
bunwich Avatar asked Jul 29 '09 02:07

bunwich


2 Answers

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

like image 125
PetersenDidIt Avatar answered Oct 04 '22 21:10

PetersenDidIt


Have you tried:

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

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

like image 34
SolutionYogi Avatar answered Oct 04 '22 21:10

SolutionYogi