Javascript 选择多元素非空验证引擎,无需

Javascript 选择多元素非空验证引擎,无需,javascript,jquery,jquery-validation-engine,Javascript,Jquery,Jquery Validation Engine,我需要验证是否至少选择了一个元素。这个元素是动态填充的,我需要使用验证引擎验证是否至少选择了一个选项元素 在这里填写选择选项项 jQuery("#bt_add").click(function(){ storeUsedGroups[attr_group.val()] = true; jQuery("#atributo_id").append('<option value='+attr_name.val() + ' groupid='+attr_group

我需要验证是否至少选择了一个元素。这个元素是动态填充的,我需要使用验证引擎验证是否至少选择了一个选项元素

在这里填写选择选项项

jQuery("#bt_add").click(function(){
    storeUsedGroups[attr_group.val()] = true;

    jQuery("#atributo_id").append('<option value='+attr_name.val() + 
        ' groupid='+attr_group.val()+'>' + attr_group.text() + 
        ' : ' + attr_name.text()+'</option>'
    );
});
并使用必需的进行验证,但对于提交表单,需要选择插入的选项

<select name="atributo_id[]" id="atributo_id" multiple="multiple" class="validate[required]">
    <option value="5" groupid="1">Color : Azul</option>
</select>
我只需要验证元素是否为非空。

更新:如果我正确理解您的意思,则仅当select元素中填充了选项时,您才希望应用必需的规则

您可以通过自定义函数调用来实现这一点。将select的类更改为

<select name="atributo_id[]" 
        id="atributo_id" 
        multiple="multiple" 
        class="validate[funcCall[ifSelectNotEmpty]]">
它应该可以工作,但不会,因为jquery.validationEngine.js在第707行崩溃,这是一个bug。所以你需要把707行从

if(!required && && !(field.val()) && field.val().length < 1) options.isError = false;


你是说选择了一个选项吗?欢迎来到堆栈溢出!你为什么不让我们看看你现在有什么?当我们看到您为解决问题所付出的努力时,您会发现社区的帮助要大得多。最初,select元素是空的,没有选项项,我在提交表单时需要验证。使用validationEngine,我可能需要使用自定义正则表达式,如果使用必需的类,则强制我选择它。是的,至少有一个选项。使用validationEngine。@Angel您需要更多的问题帮助吗?
if(!required && && !(field.val()) && field.val().length < 1) options.isError = false;
if(!required && !field && !(field.val()) && field.val().length < 1) options.isError = false;
                ^^^^^^
if (!$("#atributo_id option:selected").val()) {
    alert("Nothing has been selected");
}
if (!$("#atributo_id option:selected").length) {
    alert("Nothing has been selected");
}