我添加了淘汰赛验证,但它似乎将我放入该字段的所有内容都扔了:a、1、?等——唯一有效的方法是让该字段为空。我正在使用 ko 验证库,并通过使用模式规则对其进行扩展。
ko 模板:
<script type="text/html" id="solutionRowTemplate">
<tr>
<td>
<input type="text" class="whole" data-bind="value: firstWhole, valueUpdate: 'afterkeydown'" />
</td>
</tr>
</script>
ko 视图模型:
<script type="text/javascript">
var solutionData = @Html.Raw(new JavaScriptSerializer().Serialize(Model.SolutionList));
function SolutionModel(firstWhole) {
this.firstWhole = ko.observable(firstWhole);
}
var viewModel = {
solutions: ko.observableArray(ko.utils.arrayMap(solutionData, function (item) {
var model = new SolutionModel(item.FirstWhole);
model.firstWhole.extend({ pattern: '^[a-z0-9].$' });
return model;
})),
addSolution: function () {
this.solutions.push(new SolutionModel('', '', '', '', '', '', '', '', '', '', '', ''));
},
};
ko.applyBindings(viewModel);
</script>
如果我添加扩展的方式有误,也不会感到惊讶...
谢谢,-罗布