选择完成后,Kendo验证消息不会在ComboBox上消失

时间:2017-06-01 14:45:35

标签: javascript html kendo-ui kendo-combobox

我将组合框设置为:

'<div class="k-edit-label" style="margin-top: -6px;"><label for="OwnerIdInput">Assigned To*</label>'+helpText+'</div>\n'+
                                        '\t<div data-container-for="OwnerIdInput" class="k-edit-field" id="ownerContainer" style="width: 300px; float: left; margin-left: 10px;">\n'+
                                        '\t\t<select type="text" id="OwnerIdInput" name="ownerId" required="required" data-bind="value:ownerId"></select>\n'+
                                        '\t</div>\n\n';

我的问题是,组合框会自动填充当前用户。当用户自行删除时,弹出的验证表明必须选择某些内容。当他们做出选择时,该验证规则会保留在那里并永远不会消失。

我有多个字段(输入,日期时间选择器......)的验证弹出窗口,当您更正问题并且它们设置相同时,消息会消失。我想知道是否有人可能知道为什么组合框验证消息不会消失,或者如何在选择时消失它。

我虽然使用'change'事件,但所有这些字段都是动态添加的,因此希望能够应用于所有字段的内容,而不必为每个字段都有更改事件。

1 个答案:

答案 0 :(得分:0)

以下验证员为我解决了这个问题。不需要制作或按下特殊按钮(这是在kendo调度程序编辑器表单中,它已经处理了对所需输入的验证检查)。只需添加此选项,就会在选择某些内容时消失验证消息。

 $('#validatorCheck').kendoValidator({
                                    rules: {
                                        hasItems: function(input){
                                            if(input.is('#OwnerIdInput')){
                                                var ms = input.data('kendoMultiSelect');
                                                if(ms.value().length === 0){
                                                    return false;
                                                }
                                            }
                                            return true;
                                        }
                                    },
                                    messages: {
                                        hasItems: 'Owner Must Be Selected'
                                    }
                                });