2013-02-22 2 views
2

Могу ли я просто добавить атрибуты HTML5 к элементу для проверки соединения?Проверка нокаута с атрибутами HTML5

Если это не работает для меня. Нужно ли мне что-то делать?

http://jsfiddle.net/FcM2A/1/

vm required<input data-bind="value: num1, valueUpdate: 'afterkeydown'"/><br/> 
HTML5 required<input required="true" data-bind="value: num2, valueUpdate: 'afterkeydown'" /><br/> 
num1 isValid: <span data-bind="text: num1.isValid()"></span><br/> 
num2 isValid: <span data-bind="text: num2.isValid()"></span> 
<p data-bind="text:ko.toJSON($root)"></p> 

ko.validation.init({parseInputAttributes: true, writeInputAttributes: true}); //enable HTML5 validation, write HTML5 validation attributes to the controls 

var viewModel = { 
    num1: ko.observable("1").extend({ required: true }), 
    num2: ko.observable("2") 
}; 
ko.applyBindings(viewModel); 
+0

Я надеялся, что это можно сделать в разметке. Разве это невозможно? Эта проблема https://github.com/ericmbarnard/Knockout-Validation/issues/117, по-видимому, подразумевает, что вы можете сделать это именно так. – Homer

+0

Ожидаете ли вы ** num2.isValid() ** для возврата true или fAlse. Позвольте мне проверить – nav0611

+0

так же, как num1, false, когда пусто, true, когда это не – Homer

ответ

5

Попробуйте здесь: http://jsfiddle.net/FcM2A/29/

Вы пропускаете: ko.validatedObservable (ViewModel);

vm required<input data-bind="value: num1, valueUpdate: 'afterkeydown'"/><br/> 
HTML5 required<input required="true" data-bind="value: num2, valueUpdate: 'afterkeydown'" /><br/> 
num1 isValid: <span data-bind="text: num1.isValid()"></span><br/> 
num2 isValid: <span data-bind="text: num2.isValid()"></span> 
<p data-bind="text:ko.toJSON($root)"></p> 

ko.validation.init({parseInputAttributes: true, writeInputAttributes: true}); //enable HTML5 validation, write HTML5 validation attributes to the controls 

var viewModel = { 
    num1: ko.observable("1").extend({ required: true }), 
    num2: ko.observable("2") 
}; 
ko.validatedObservable(viewModel); 
ko.applyBindings(viewModel); 
+2

Обновлено скрипт: http://jsfiddle.net/FcM2A/ 41 / –

Смежные вопросы