This question already has answers here:
Rules for unquoted JavaScript Object Literal Keys?
                                
                                    (6个答案)
                                
                        
                                3年前关闭。
            
                    
确定,如果我将复选框房间字段不带[],则以下代码可以正常工作,但是如果我这样做,

$(function() {

// Setup form validation on the #register-form element
$("#reservation").validate({

    // Specify the validation rules
    rules: {
        room[]: "required",
        start: "required",
        end: "required",
        name: "required",
        phone: "required",
        email: {
            required: true,
            email: true
        },
        address: "required"
    },

    // Specify the validation error messages
    messages: {
        room[]: "    Select one room",
        start: "Select Check In date in Room Availability",
        end: "Select Check Out date in Room Availability",
        name: "Enter your full name",
        phone: "Phone number is required",
        email: "Please enter a valid email address",
        address: "Address is required"
    },


    submitHandler: function(form) {
        form.submit();
    }
});


});

那么使用room []的room字段在选择一个房间时不会抛出任何错误。

最佳答案

http://jqueryvalidation.org/files/demo/radio-checkbox-select-demo.html

更新工作示例:

http://codepen.io/anon/pen/RaGbeP

$(function() {
$('#myform').validate({
rules: {
  "room[]": {
    required: true
  }
},
messages: {
  "room[]": {
    required: "Please select a room<br/>"
  }
},
errorPlacement: function(error, element) {
  if (element.is(":radio")) {
    error.appendTo(element.parents('.container'));
  } else { // This is the default behavior
    error.insertAfter(element);
  }
}
});

});

<form id="myform">
  <label for='room'>Select one room:</label>
  <p class='container'>
  <label><input type='checkbox' name='room[]' value='room one' />one</label>
  <label><input type='checkbox' name='room[]' value='room two' />two</label>
  <label><input type='checkbox' name='room[]' value='room three' />three</label>
</p>
<input type="submit" name="submit" value="Submit">
</form>

10-05 20:57
查看更多