Kendo Validator总是说多选是无效的

时间:2017-06-29 14:41:57

标签: javascript kendo-multiselect kendo-validator

我有一个动态创建的多选项,并使用以下代码附加到模板:

                   if(fieldMap[i].required == true){
                        extraString = '<div class="k-edit-label" style="margin-top: -6px;"><label for="'+fieldMap[i].fieldName+'Input">'+fieldMap[i].fieldLabel+'*</label>'+helpText+'</div>\n<div data-container-for="'+fieldMap[i].fieldName+'Input" class="k-edit-field" id="'+fieldMap[i].fieldName+'Container">\n';
                        dynamicComponent = '\t<input class="multiselect-binder" id="'+fieldMap[i].fieldName+'Input" name="'+fieldMap[i].fieldName.toLowerCase()+'" data-auto-close="false" data-role="multiselect" data-bind="value:'+fieldMap[i].fieldName.toLowerCase()+'" required data-required-msg="Please Select Valid '+fieldMap[i].fieldLabel+'" data-source="[';
                        //dynamicComponent = '\t<select id="'+fieldMap[i].fieldName+'Input" data-role="dropdownlist" data-bind="value:'+fieldMap[i].fieldName.toLowerCase()+'" required data-required-msg="Please Select Valid '+fieldMap[i].fieldLabel+'">';
                    } else{
                        extraString = '<div class="k-edit-label" style="margin-top: -6px;"><label for="'+fieldMap[i].fieldName+'Input">'+fieldMap[i].fieldLabel+'</label>'+helpText+'</div>\n<div data-container-for="'+fieldMap[i].fieldName+'Input" class="k-edit-field" id="'+fieldMap[i].fieldName+'Container">\n';
                        dynamicComponent = '\t<input class="multiselect-binder" id="'+fieldMap[i].fieldName+'Input" data-auto-close="false" data-role="multiselect" data-bind="value:'+fieldMap[i].fieldName.toLowerCase()+'" data-source="[';
                        //dynamicComponent = '\t<select id="'+fieldMap[i].fieldName+'Input" data-role="dropdownlist" data-bind="value:'+fieldMap[i].fieldName.toLowerCase()+'">';
                    }
                    optString = '';
                    for(var k = 0; k < fieldMap[i].picklistVals.length; k++){
                        if(k == 0){
                           optString += '\''+fieldMap[i].picklistVals[k]+'\'';   
                        }
                        else{
                            optString += ',\''+fieldMap[i].picklistVals[k]+'\'';   
                        }
                    }
                    //Close the input component as well as the container div
                    dynamicComponent += optString + ']"/>\n<span class="k-invalid-msg" data-for="'+fieldMap[i].fieldName.toLowerCase()+'"></span></div>\n\n';

我在保存按钮上运行validator.validate()单击以确定是否应保存信息,这取决于是否需要多选输入。

当没有选择任何内容时,这会弹出无效的工具提示消息。但问题是,即使进行了选择,它也会被标记为无效。我想知道是否有人有任何解决方案如何让验证器与多选项正常工作。只是隐藏弹出窗口并不是我所追求的,因为即使弹出窗口被隐藏,validate()函数仍然会失败,我需要传递validate()函数。

0 个答案:

没有答案