【发布时间】:2013-08-30 06:41:54
【问题描述】:
我正在使用验证,并且正在使用 knockout.js(和 durandal.js)作为视图模式。
如果我点击提交按钮,我想让文本框的边框在空白时变为红色。
当用户开始在文本框中输入内容时,应移除红色边框。
代码在这里:http://jsfiddle.net/LvHUD/1/
我所做的是:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="Scripts/knockout.debug.js"></script>
<script src="Scripts/knockout.js"></script>
<script src="Scripts/knockout.validation.debug.js"></script>
<script src="Scripts/knockout.validation.js"></script>
</head>
<body>
<input type="text" data-bind='value: username' />
<br />
<button data-bind="click: submit">Submit</button>
<div data-bind="visible: showErrors, text: errors" />
<script>
function ViewModel() {
var self = this;
self.username = ko.observable().extend({
required: true
});
self.showErrors = ko.observable(false);
self.submit = function () {
self.showErrors(true);
if (self.isValid()) {
// save data here
}
}
self.errors = ko.validation.group(self);
}
ko.validation.init({
registerExtenders: true,
messagesOnModified: true,
insertMessages: false
});
ko.applyBindings(new ViewModel());
</script>
</body>
</html>
【问题讨论】:
-
嗯,这里没有看到任何杜兰达尔。我可以建议您删除标签并更新问题吗?
标签: javascript knockout.js knockout-validation