具有挖空验证的挖空剑道小部件不起作用



我需要用敲除剑道实现敲除验证。

我有这个html:

<textarea class="k-textbox" data-bind="value: description"></textarea>
<input data-bind="kendoComboBox: { 
                  data: myOptions, 
                  value:myOptionId,
                  dataTextField: 'MyOptionName', 
                  dataValueField: 'MyOptionId'}"/>
<input data-bind="kendoDatePicker: {value: dueDate}"/>

Javascript:

...
viewModel: {
    description: ko.observable('').extend({ required: true }),
    dueDate: ko.observable('').extend({ required: true }),
    myOptions: ko.observableArray([]),
    myOptionId: ko.observable('').extend({ required: true })
}
...
    ko.applyBindingsWithValidation(self.viewModel, $ctx[0]);

验证适用于绑定到文本区域的描述字段;但不适用于 comboBox 或 datePicker。

我已经检查了文档,还有这个jsFiddle,但我无法让它工作。

任何帮助将不胜感激。

看起来问题是<span class="validationMessage" data-bind="validationMessage: dueDate"></span>不会为淘汰剑道标签自动生成。只需为每个淘汰剑道元素添加一个标签,例如:

<input data-bind="kendoComboBox: { 
                  data: myOptions, 
                  value:myOptionId,
                  dataTextField: 'MyOptionName', 
                  dataValueField: 'MyOptionId'}"/>
<span class="validationMessage" data-bind="validationMessage: value:myOptionId"></span>
<input data-bind="kendoDatePicker: {value: dueDate}"/>
<span class="validationMessage" data-bind="validationMessage: dueDate"></span>

请记住在视图模型之前放置:

ko.validation.configure({
    registerExtenders: true,
    messagesOnModified: true,
    insertMessages: true,
    parseInputAttributes: true,
    messageTemplate: null
});
ko.validation.registerExtenders();

相关内容

  • 没有找到相关文章

最新更新