添加CSS类具有淘汰赛验证(Add CSS Class with Knockout Validato

2019-07-31 01:44发布

我想一个CSS类添加到select在我看来元素,我的观点模型我已经使用淘汰赛验证扩展属性:

self.selectedRootCause = ko.observable().extend({
    required: true
});

然后,我的select是像这样:

<form data-bind="submit: closeComplaint" method="post"> 
    <select data-bind="options: rootCauses, 
                            optionsText: 'RootCauseText', 
                            value: selectedRootCause, 
                            optionsCaption: 'Choose..',
                            validationOptions: { errorElementClass: 
                                                 'input-validation-error' }">
    </select>

    <input type="submit" value="Close Complaint" />
</form>

closeComplaint功能看起来像这样:

self.closeComplaint = function () {
    if (self.errors().length == 0) {
        $.ajax({
            url: '@Url.Action("CloseComplaint")',
            data: new DetailsComplaintAdmin(self.currentComplaint(),
                                        self.selectedRootCause().RootCauseId
                ),
            success: function (data) {
                console.log(data);
            }
        });
    }
}

刚刚完成,这是我的self.errors()函数:

self.errors = ko.validation.group(self);

问题是类input-validation-error不会出现被添加到我的select输入时,我提出我的形式? 有任何想法吗?

Answer 1:

结帐这个链接

它说,你必须设置decorateElementtrue的应用CSS类的输入标签。
所以,当我全局应用该参数的工作原理:

ko.validation.configure({ 
    decorateElement : true
});

结帐这个的jsfiddle 演示

注意 :在较新版本的淘汰赛验证库中, decorateElement配置选项已重命名为decorateInputElement ( 详细信息 )



文章来源: Add CSS Class with Knockout Validator