Ошибка в привязке данных сообщения проверки

Я работаю в большом приложении, у меня слишком много моделей представления. Я хочу отображать свое сообщение в произвольном месте. Я нашел эти руководства в Интернете

http://jsfiddle.net/internetH3ro/tLN7r/

http://jsfiddle.net/Y85Kh/.

Когда я пытался реализовать, я получаю сообщение об ошибке «VMData is not defined», тогда я подумал о том, чтобы вызвать его из модели представления (viewmodel.VMData). Там я получал сообщение об ошибке «Сообщение: невозможно вызвать метод 'extend' of undefined» . Мне что-то не хватает или мне нужно добавить что-то еще, чтобы сделать его доступным при использовании разных моделей представления.

var data = {
    Name: 'test'
};

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

Добавлено: http://jsfiddle.net/udp2z/1/.


person threeleggedrabbit    schedule 12.03.2014    source источник
comment
вы можете показать свой код или сделать скрипку?   -  person Akhlesh    schedule 12.03.2014
comment
Добавлен jsfiddle.net/udp2z/1. Пожалуйста, изучите его.   -  person threeleggedrabbit    schedule 12.03.2014


Ответы (1)


Я видел ваш код, вы не можете использовать validationMessage где-либо, кроме как в цикле foreach, он должен быть в tbody. В конфигурации сделайте insertMessages ложным.

    <tr>
        <td colspan="4"> <span data-bind="validationMessage: Type"></span>
       </td>
    </tr>

Демонстрация скрипта

person Akhlesh    schedule 12.03.2014
comment
То же самое для ошибок модели просмотра, потому что я использую проверки нокаутом, и мой счетчик ошибок всегда возвращается как ноль. - person threeleggedrabbit; 12.03.2014
comment
@Hsakarp см. Обновленную скрипку. http://jsfiddle.net/udp2z/5/ - person Akhlesh; 12.03.2014
comment
позвольте нам продолжить обсуждение в чате - person threeleggedrabbit; 12.03.2014