Виджеты нокаута-кендо с проверкой нокаута не работают

Мне нужно реализовать проверку нокаута с помощью нокаута-кендо.

У меня есть этот 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, но мне не удалось получить его для Работа.

Любая помощь будет принята с благодарностью.


person artist_dev    schedule 17.01.2014    source источник


Ответы (1)


Похоже, проблема в том, что <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();
person Shelakel    schedule 10.03.2014