2

我可以将 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);
4

1 回答 1

6

在这里试试: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);
于 2013-02-24T21:47:11.407 回答