Подтвердить что ты не робот

Флажок проверки правильности jQuery: проверка

Я использую плагин проверки jQuery для проверки флажка, так как он не имеет опции по умолчанию. Нужно выбрать и установить два флажка, это критерии. Я не получаю никаких ошибок и не проверяется. Я расширяю его, как показано ниже,

  <input type="checkbox" name="test[]" />x
   <input type="checkbox" name="test[]"  />y
   <input type="checkbox" name="test[]" />z
     $("#formid").validate({
  rules: {
    test[]: { 

            required: function(elem)
            {
                return $("input.select:checked").length > 0;
            }

          },
messages: { 

    test[]: "You must check at least 1 box"
  }
 });
4b9b3361

Ответ 1

У вас было несколько проблем с вашим кодом.

1) Отсутствует замыкающая скобка } в пределах rules.

2) В этом случае нет смысла использовать функцию для правила required. По умолчанию плагин может обрабатывать только теги checkbox и radio, поэтому использовать true достаточно. Однако это будет просто выполнять ту же логику, что и в вашей исходной функции, и проверить, что проверено хотя бы одно.

3) Если вы также хотите проверить только максимум два, вам необходимо применить правило maxlength.

4) В опции messages отсутствовала спецификация правила. Он будет работать, но одно настраиваемое сообщение будет применяться ко всем правилам в одном и том же поле.

5) Если атрибут name содержит скобки, вы должны заключить его в кавычки.

DEMO: http://jsfiddle.net/K6Wvk/

$(document).ready(function () {

    $('#formid').validate({ // initialize the plugin
        rules: {
            'test[]': {
                required: true,
                maxlength: 2
            }
        },
        messages: {
            'test[]': {
                required: "You must check at least 1 box",
                maxlength: "Check no more than {0} boxes"
            }
        }
    });

});

Ответ 2

Существует простой способ

HTML:

<input type="checkbox" name="test[]" />x
<input type="checkbox" name="test[]"  />y
<input type="checkbox" name="test[]" />z
<button type="button" id="submit">Submit</button>

Jquery:

$("#submit").on("click",function(){
    if (($("input[name*='test']:checked").length)<=0) {
        alert("You must check at least 1 box");
    }
    return true;
});

Для этого вам не нужен плагин. Наслаждайтесь;)