【发布时间】:2015-05-09 20:30:39
【问题描述】:
我使用 AMD 创建了一个 knockoutjs 应用程序。目前我有点坚持验证。这是 ViewModel 代码:
define(['knockout', 'hasher', 'text!./login-window.html'],
function (ko, hasher, templateMarkup) {
'use strict';
function LoginWindowViewModel(params) {
//observables
this.properties = ko.validatedObservable({
username: ko.observable().extend({
required: { message: 'Please supply your user name' }
}),
password: ko.observable().extend({
required: { message: 'Please supply your password' }
})
});
}
return { viewModel: LoginWindowViewModel, template: templateMarkup };
});
<div data-bind="css: { 'form-group': true, 'has-error': !properties().username.isValid() }">
<label for="input-username" class="col-lg-3 control-label">Username</label>
<div class="col-lg-9">
<input type="text" name="input-username" class="form-control" data-bind="value: properties().username" />
</div>
</div>
<div data-bind="css: { 'form-group': true, 'has-error': !properties().password.isValid() }">
<label for="input-password" class="col-lg-3 control-label">Password</label>
<div class="col-lg-9">
<input type="text" name="input-password" class="form-control" data-bind="value: properties().password" />
</div>
</div>
问题是页面加载敲除将has-errors 类添加到“包装器div”(具有form-group 类的那些)。用户在绑定输入中输入内容后如何打开验证?
在你指向我之前:Knockout Validation evaluates immediately on load - 我没有遇到验证消息显示的问题,但是添加了 div 的类是它当时不应该有的。
【问题讨论】:
标签: javascript validation knockout.js