javascript - Jquery验证不验证表单中的多选框

标签 javascript jquery jquery-validate

我的页面中有两个选择框(dropdpwn)。我使用 jQuery 验证插件验证我的表单,但该插件不验证两个选择框。

JS:

$('form').validate({
    rules: {
        firstname: {
            minlength: 3,
            maxlength: 15,
            required: true
        },
        lastname: {
            minlength: 3,
            maxlength: 15,
            required: true
        }
    },
    highlight: function(element) {
        $(element).closest('.form-group').addClass('has-error');
    },
    unhighlight: function(element) {
        $(element).closest('.form-group').removeClass('has-error');
    },
    errorElement: 'span',
    errorClass: 'help-block',
    errorPlacement: function(error, element) {
        if(element.parent('.input-group').length) {
            error.insertAfter(element.parent());
        } else {
            error.insertAfter(element);
        }
    }
});

HTML:

<form>
    <div class="form-group">
        <label class="control-label" for="firstname">Nome:</label>
        <div class="input-group">
            <span class="input-group-addon">$</span>
            <input class="form-control" placeholder="Insira o seu nome próprio" name="firstname" type="text" />
        </div>
    </div>

    <div class="form-group">
        <label class="control-label" for="lastname">Apelido:</label>
        <div class="input-group">
            <span class="input-group-addon">€</span>
            <input class="form-control" placeholder="Insira o seu apelido" name="lastname" type="text" />
        </div>
    </div>
    <div class="form-group">
        <label class="control-label" for="lastname">selectBox 1</label>
        <div class="input-group">
            <span class="input-group-addon">€</span>
           <select class="required form-control">
               <option value="0"></option>
               <option value="1">1</option>
               <option value="2">2</option>

            </select>
        </div>
    </div>
    <div class="form-group">
        <label class="control-label" for="lastname">selectBox 2</label>
        <div class="input-group">
            <span class="input-group-addon">€</span>
           <select class="required form-control">
               <option value="0"></option>
               <option value="1">1</option>
               <option value="2">2</option>

            </select>
        </div>
    </div>

        <button type="submit" class="btn btn-primary">Submit</button>
</form>

如何解决每个()选择框的此问题。

演示:http://jsfiddle.net/hTPY7/1435

最佳答案

1) 每个元素上必须有唯一的 name 属性。这是 jQuery Validate 插件的要求。

2) 第一个选项必须具有value="",而不是value="0"

工作演示:http://jsfiddle.net/hTPY7/1436/

<小时/>

3) OP 的演示被破坏了,因为他一直使用相同的 id 两次。对于有效的 HTML,每个 id 必须在页面上是唯一的。

演示 ID:http://jsfiddle.net/hTPY7/1441/

关于javascript - Jquery验证不验证表单中的多选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24981189/

相关文章:

javascript - ReactJS - 如果对象有长度

javascript - Bootstrap 下拉菜单无法选择下拉菜单选项

jquery - 显示下拉列表时填充下拉列表?

jquery - 将数据属性与 jquery 验证一起使用

javascript - Jquery验证: How to validate that all or none of a group of textboxes have values?

javascript - jQuery UI 1.10.3 对话框,拖拽移走对话框

javascript - 导入函数时未定义不是函数

Javascript 检测屏幕分辨率,更改 css,相应地裁剪图像

javascript - 如何对数组中的正百分比和负百分比进行排序

javascript - 为什么 Google 表单不返回 formSubmit 上的用户响应?