jQuery验证引擎始终无法通过select2进行验证

时间:2013-03-01 10:10:37

标签: javascript jquery jquery-validation-engine jquery-select2

我遇到了一个奇怪的问题,即使用pos绝对jquery验证引擎插件完全没有验证,该字段过度验证aka,我们总是得到“Field is required”提示。

这是我的HTML:

<div class="control-group">
    <label for="funeral_director" class="control-label">Funeral Director</label>

    <div class="controls">
        <select name="funeral_director" id="funeral_director" class="validate[required]">
            <option value=""></option>
            <option value="13">Test User</option>
            <option value="4">Admin User</option>
            <option value="1">Dev User</option>
        </select>
    </div>
</div>

这是我的select2 javascript:

$('#funeral_director').select2({
    blurOnChange: true,
    placeholder: 'Director',
    width: 'resolve'
});

这是我的验证引擎javascript:

$("#addForm").validationEngine({
                prettySelect: true,
                usePrefix: 's2id_'
            });

我认为这不重要,因为我也尝试在验证实例化之前和之后将select2实例化移动到同一个文件中。但是在$(function(){/*..code*/})块中调用了大量的javascript,但是在单独的文件,验证引擎初始化文件包含在select2初始化文件之前。

选择2:3.3.1
jqve:2.6.2

1 个答案:

答案 0 :(得分:0)

select2.min.js 中找到此笔画(在剧本中应为2笔):

D(this.container,this.opts.element,this.opts.adaptContainerCssClass)

并在您找到的笔画后立即添加此代码

,this.container.removeClass("validate[required]")

这可以解决你的问题。